From 479ee8e4806f6a9a10f78600b85264cb5b346e45 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Wed, 7 Jan 2026 16:03:51 +0100 Subject: [PATCH 01/19] build: add cspell plugin in devcontainer --- .devcontainer/devcontainer.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f2ac6ddf..f29c2fc0 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -11,9 +11,10 @@ "files.trimTrailingWhitespace": false }, "extensions": [ - "editorconfig.editorconfig", "davidanson.vscode-markdownlint", - "ms-kubernetes-tools.vscode-kubernetes-tools" + "editorconfig.editorconfig", + "ms-kubernetes-tools.vscode-kubernetes-tools", + "streetsidesoftware.code-spell-checker" ] }, "codespaces": { From cbcf96823b0ca8108d53c04751ab530575338458 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Wed, 7 Jan 2026 16:04:08 +0100 Subject: [PATCH 02/19] ci: update kind and image versions --- .github/workflows/kind-configs/default.yaml | 6 +++--- .github/workflows/kind-configs/no-cni.yaml | 6 +++--- .github/workflows/test-on-kind.yml | 12 ++++++------ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/kind-configs/default.yaml b/.github/workflows/kind-configs/default.yaml index 041bcab5..64ac507f 100644 --- a/.github/workflows/kind-configs/default.yaml +++ b/.github/workflows/kind-configs/default.yaml @@ -2,11 +2,11 @@ kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane - image: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2 + image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48 - role: worker - image: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2 + image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48 - role: worker - image: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2 + image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48 networking: podSubnet: "10.10.0.0/16" serviceSubnet: "10.11.0.0/16" diff --git a/.github/workflows/kind-configs/no-cni.yaml b/.github/workflows/kind-configs/no-cni.yaml index 8d3bd5be..45ecba12 100644 --- a/.github/workflows/kind-configs/no-cni.yaml +++ b/.github/workflows/kind-configs/no-cni.yaml @@ -2,11 +2,11 @@ kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane - image: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2 + image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48 - role: worker - image: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2 + image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48 - role: worker - image: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2 + image: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48 networking: disableDefaultCNI: true podSubnet: "10.10.0.0/16" diff --git a/.github/workflows/test-on-kind.yml b/.github/workflows/test-on-kind.yml index 16150795..4886dccf 100644 --- a/.github/workflows/test-on-kind.yml +++ b/.github/workflows/test-on-kind.yml @@ -54,10 +54,10 @@ jobs: strategy: matrix: versions: - - kind: kindest/node:v1.34.0@sha256:7416a61b42b1662ca6ca89f02028ac133a309a2a30ba309614e8ec94d976dc5a - kubectl: "v1.34.0" - - kind: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2 - kubectl: "v1.33.4" + - kind: kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48 + kubectl: "v1.34.3" + - kind: kindest/node:v1.35.0@sha256:452d707d4862f52530247495d180205e029056831160e22870e37e3f6c1ac31f + kubectl: "v1.35.0" module: ${{ fromJSON(needs.get-changed-modules.outputs.matrix) }} steps: - name: Checkout @@ -72,7 +72,7 @@ jobs: if: matrix.module == 'modules/cni/cilium/base' uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0 with: - version: v0.30.0 + version: v0.31.0 kubectl_version: "${{ matrix.versions.kubectl }}" node_image: "${{ matrix.versions.kind }}" config: .github/workflows/kind-configs/no-cni.yaml @@ -82,7 +82,7 @@ jobs: if: matrix.module != 'modules/cni/cilium/base' uses: helm/kind-action@92086f6be054225fa813e0a4b13787fc9088faab # v1.13.0 with: - version: v0.30.0 + version: v0.31.0 kubectl_version: "${{ matrix.versions.kubectl }}" node_image: "${{ matrix.versions.kind }}" config: .github/workflows/kind-configs/default.yaml From 89f9766e8a4af84df46050b7a621e84d607d400d Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Wed, 7 Jan 2026 16:16:53 +0100 Subject: [PATCH 03/19] feat: update cilium version in cni module --- hack/cni/script.sh | 10 +- hack/cni/values.yaml | 34 +- modules/cni/cilium/CHANGELOG.md | 23 +- modules/cni/cilium/README.md | 19 +- .../resources/configs/bootstrap-config.json | 396 ++++++++++++++++++ .../base/resources/configs/configmap.env | 10 +- .../base/resources/configs/kustomization.yaml | 5 + .../cilium/base/resources/kustomization.yaml | 19 +- .../cilium-agent/workload/daemonset.yaml | 11 +- .../workloads/cilium-envoy/kustomization.yaml | 11 + .../cilium-envoy/rbac/kustomization.yaml | 4 + .../cilium-envoy/rbac/serviceaccount.yaml | 6 + .../cilium-envoy/workload/daemonset.yaml | 158 +++++++ .../cilium-envoy/workload/kustomization.yaml | 4 + .../cilium-operator/rbac/clusterrole.yaml | 1 + .../workloads/cilium-operator/rbac/role.yaml | 17 +- .../cilium-operator/rbac/rolebinding.yaml | 16 +- .../resources/workloads/kustomization.yaml | 1 + 18 files changed, 688 insertions(+), 57 deletions(-) create mode 100644 modules/cni/cilium/base/resources/configs/bootstrap-config.json create mode 100644 modules/cni/cilium/base/resources/workloads/cilium-envoy/kustomization.yaml create mode 100644 modules/cni/cilium/base/resources/workloads/cilium-envoy/rbac/kustomization.yaml create mode 100644 modules/cni/cilium/base/resources/workloads/cilium-envoy/rbac/serviceaccount.yaml create mode 100644 modules/cni/cilium/base/resources/workloads/cilium-envoy/workload/daemonset.yaml create mode 100644 modules/cni/cilium/base/resources/workloads/cilium-envoy/workload/kustomization.yaml diff --git a/hack/cni/script.sh b/hack/cni/script.sh index 6f7b8c2f..d71767c9 100755 --- a/hack/cni/script.sh +++ b/hack/cni/script.sh @@ -3,7 +3,7 @@ set -o nounset set -o errexit -CILIUM_VERSION="${1:-1.18.4}" +CILIUM_VERSION="${1:-1.18.5}" FOLDER_PATH=$(dirname -- "${0}") helm repo add cilium https://helm.cilium.io/ @@ -11,27 +11,27 @@ helm repo add cilium https://helm.cilium.io/ helm repo update cilium helm template cilium cilium/cilium \ - --kube-version "v1.33.0-0" \ + --kube-version "v1.34.0-0" \ --version "${CILIUM_VERSION}" \ --namespace kube-system \ --values "${FOLDER_PATH}/values.yaml" > "${FOLDER_PATH}/kind-${CILIUM_VERSION}.yaml" helm template cilium cilium/cilium \ - --kube-version "v1.33.0-0" \ + --kube-version "v1.34.0-0" \ --version "${CILIUM_VERSION}" \ --namespace kube-system \ --values "${FOLDER_PATH}/values.yaml" \ --values "${FOLDER_PATH}/eks-values.yaml" > "${FOLDER_PATH}/eks-${CILIUM_VERSION}.yaml" helm template cilium cilium/cilium \ - --kube-version "v1.33.0-0" \ + --kube-version "v1.34.0-0" \ --version "${CILIUM_VERSION}" \ --namespace kube-system \ --values "${FOLDER_PATH}/values.yaml" \ --values "${FOLDER_PATH}/gke-values.yaml" > "${FOLDER_PATH}/gke-${CILIUM_VERSION}.yaml" helm template cilium cilium/cilium \ - --kube-version "v1.33.0-0" \ + --kube-version "v1.34.0-0" \ --version "${CILIUM_VERSION}" \ --namespace kube-system \ --values "${FOLDER_PATH}/values.yaml" \ diff --git a/hack/cni/values.yaml b/hack/cni/values.yaml index 1eeb6e0a..f3fb141d 100644 --- a/hack/cni/values.yaml +++ b/hack/cni/values.yaml @@ -1,9 +1,13 @@ -upgradeCompatibility: "1.14" +upgradeCompatibility: "1.17" iptablesRandomFully: false cni: chainingMode: portmap +envoyConfig: + secretsNamespace: + name: kube-system + hubble: metrics: enabled: @@ -32,25 +36,41 @@ hubble: podDisruptionBudget: enabled: true +loadBalancer: + l7: + backend: envoy + protocolDifferentiation: + enabled: true + prometheus: enabled: true serviceMonitor: enabled: true trustCRDsExist: true +envoy: + enabled: true + log: + format: null + format_json: + time: "%Y-%m-%dT%T.%e" + level: "%l" + scope: "%n" + message: "%j" + defaultLevel: info + prometheus: + enabled: true + serviceMonitor: + enabled: true + sessionAffinity: true + tls: readSecretsOnlyFromSecretsNamespace: true secretsNamespace: create: false name: kube-system -loadBalancer: - # l7: - # backend: envoy - protocolDifferentiation: - enabled: true - operator: prometheus: enabled: true diff --git a/modules/cni/cilium/CHANGELOG.md b/modules/cni/cilium/CHANGELOG.md index 7e7d3b17..1fd7323d 100644 --- a/modules/cni/cilium/CHANGELOG.md +++ b/modules/cni/cilium/CHANGELOG.md @@ -7,27 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v1.33.3 - -### Changed - -- update cilium to v1.18.4 - -## v1.33.2 - ### Changed -- update cilium to v1.18.3 - -## v1.33.1 +- update cilium to v1.18.5 -### Changed - -- update cilium to v1.18.2 -- update hubble UI to v0.13.3 - -## v1.33.0 - -### Changed +### Added -- update cilium to v1.18.1 +- add external envoy daemonset and enable l7 loadbalancer for grpc diff --git a/modules/cni/cilium/README.md b/modules/cni/cilium/README.md index b1ce07a8..c7b2e348 100644 --- a/modules/cni/cilium/README.md +++ b/modules/cni/cilium/README.md @@ -26,6 +26,7 @@ the Cilium DaemonSet to run on them before everything else and setup the node pr - **[workloads](./base/resources/workloads):** - **[cilium-agent](./base/resources/workloads/cilium-agent):** resources for the DaemonSet agent that will handle the eBPF module on the nodes + - **[cilium-envoy](./base/resources/workloads/cilium-envoy):** resources for the envoy L7 proxy DaemonSet - **[cilium-operator](./base/resources/workloads/cilium-operator):** resources for the operator that will handle the correct configuration for cilium - **[hubble](./base/resources/workloads/hubble):** workloads for the Hubble observability platform @@ -43,8 +44,6 @@ documentation for all the [system requirements]. ### AKS -- deploys the `node-init` DaemonSet - The AKS flavor is indicated for setting up cilium to work inside an AKS cluster in BYOCNI plugin. You can follow the [official guide from Microsoft] for setting the cluster correctly. @@ -84,19 +83,23 @@ update the nodes correctly to use Cilium as CNI plugin. | Module Version | Cilium | Hubble UI | |----------------|------------------|-------------| -| 1.33.0 | 1.18.1 | v0.13.2 | -| 1.33.1 | 1.18.2 | v0.13.3 | -| 1.33.2 | 1.18.3 | v0.13.3 | -| 1.33.3 | 1.18.4 | v0.13.3 | +| 1.34.x | 1.18.5 | v0.13.3 | ## User customization -### Base, EKS +### Base -By default these flavor will set the `cluster-pool-ipv4-cidr` property inside the `cilium-config` ConfigMap to +By default this flavor will set the `cluster-pool-ipv4-cidr` property inside the `cilium-config` ConfigMap to `10.10.0.0/16` and the `cluster-pool-ipv4-mask-size` to `24`. If you don’t want to use these values you can change them via a patch setting them to your desired values. +### EKS + +For this flavor you **must** change the value of the `cluster-pool-ipv4-cidr` property inside the `cilium-config` +ConfigMap with a patch and set it to a value that does not overlap with the default service CIDR of AKS. For +avoiding the setup with a wrong value, the module will set the property to `CHANGE_TO_YOUR_CLUSTER_POD_IPV4_CIDR` +value that will trigger an error inside Cilium workload and will not start. + ### AKS For this flavor you **must** change the value of the `cluster-pool-ipv4-cidr` property inside the `cilium-config` diff --git a/modules/cni/cilium/base/resources/configs/bootstrap-config.json b/modules/cni/cilium/base/resources/configs/bootstrap-config.json new file mode 100644 index 00000000..74c1ce6c --- /dev/null +++ b/modules/cni/cilium/base/resources/configs/bootstrap-config.json @@ -0,0 +1,396 @@ +{ + "admin": { + "address": { + "pipe": { + "path": "/var/run/cilium/envoy/sockets/admin.sock" + } + } + }, + "applicationLogConfig": { + "logFormat": { + "jsonFormat": { + "level": "%l", + "message": "%j", + "scope": "%n", + "time": "%Y-%m-%dT%T.%e%z" + } + } + }, + "bootstrapExtensions": [ + { + "name": "envoy.bootstrap.internal_listener", + "typedConfig": { + "@type": "type.googleapis.com/envoy.extensions.bootstrap.internal_listener.v3.InternalListener" + } + } + ], + "dynamicResources": { + "cdsConfig": { + "apiConfigSource": { + "apiType": "GRPC", + "grpcServices": [ + { + "envoyGrpc": { + "clusterName": "xds-grpc-cilium" + } + } + ], + "setNodeOnFirstMessageOnly": true, + "transportApiVersion": "V3" + }, + "initialFetchTimeout": "30s", + "resourceApiVersion": "V3" + }, + "ldsConfig": { + "apiConfigSource": { + "apiType": "GRPC", + "grpcServices": [ + { + "envoyGrpc": { + "clusterName": "xds-grpc-cilium" + } + } + ], + "setNodeOnFirstMessageOnly": true, + "transportApiVersion": "V3" + }, + "initialFetchTimeout": "30s", + "resourceApiVersion": "V3" + } + }, + "node": { + "cluster": "ingress-cluster", + "id": "host~127.0.0.1~no-id~localdomain" + }, + "overloadManager": { + "resourceMonitors": [ + { + "name": "envoy.resource_monitors.global_downstream_max_connections", + "typedConfig": { + "@type": "type.googleapis.com/envoy.extensions.resource_monitors.downstream_connections.v3.DownstreamConnectionsConfig", + "max_active_downstream_connections": "50000" + } + } + ] + }, + "staticResources": { + "clusters": [ + { + "circuitBreakers": { + "thresholds": [ + { + "maxRetries": 128 + } + ] + }, + "cleanupInterval": "2.500s", + "connectTimeout": "2s", + "lbPolicy": "CLUSTER_PROVIDED", + "name": "ingress-cluster", + "type": "ORIGINAL_DST", + "typedExtensionProtocolOptions": { + "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": { + "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", + "commonHttpProtocolOptions": { + "idleTimeout": "60s", + "maxConnectionDuration": "0s", + "maxRequestsPerConnection": 0 + }, + "useDownstreamProtocolConfig": {} + } + } + }, + { + "circuitBreakers": { + "thresholds": [ + { + "maxRetries": 128 + } + ] + }, + "cleanupInterval": "2.500s", + "connectTimeout": "2s", + "lbPolicy": "CLUSTER_PROVIDED", + "name": "egress-cluster-tls", + "transportSocket": { + "name": "cilium.tls_wrapper", + "typedConfig": { + "@type": "type.googleapis.com/cilium.UpstreamTlsWrapperContext" + } + }, + "type": "ORIGINAL_DST", + "typedExtensionProtocolOptions": { + "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": { + "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", + "commonHttpProtocolOptions": { + "idleTimeout": "60s", + "maxConnectionDuration": "0s", + "maxRequestsPerConnection": 0 + }, + "upstreamHttpProtocolOptions": {}, + "useDownstreamProtocolConfig": {} + } + } + }, + { + "circuitBreakers": { + "thresholds": [ + { + "maxRetries": 128 + } + ] + }, + "cleanupInterval": "2.500s", + "connectTimeout": "2s", + "lbPolicy": "CLUSTER_PROVIDED", + "name": "egress-cluster", + "type": "ORIGINAL_DST", + "typedExtensionProtocolOptions": { + "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": { + "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", + "commonHttpProtocolOptions": { + "idleTimeout": "60s", + "maxConnectionDuration": "0s", + "maxRequestsPerConnection": 0 + }, + "useDownstreamProtocolConfig": {} + } + } + }, + { + "circuitBreakers": { + "thresholds": [ + { + "maxRetries": 128 + } + ] + }, + "cleanupInterval": "2.500s", + "connectTimeout": "2s", + "lbPolicy": "CLUSTER_PROVIDED", + "name": "ingress-cluster-tls", + "transportSocket": { + "name": "cilium.tls_wrapper", + "typedConfig": { + "@type": "type.googleapis.com/cilium.UpstreamTlsWrapperContext" + } + }, + "type": "ORIGINAL_DST", + "typedExtensionProtocolOptions": { + "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": { + "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", + "commonHttpProtocolOptions": { + "idleTimeout": "60s", + "maxConnectionDuration": "0s", + "maxRequestsPerConnection": 0 + }, + "upstreamHttpProtocolOptions": {}, + "useDownstreamProtocolConfig": {} + } + } + }, + { + "connectTimeout": "2s", + "loadAssignment": { + "clusterName": "xds-grpc-cilium", + "endpoints": [ + { + "lbEndpoints": [ + { + "endpoint": { + "address": { + "pipe": { + "path": "/var/run/cilium/envoy/sockets/xds.sock" + } + } + } + } + ] + } + ] + }, + "name": "xds-grpc-cilium", + "type": "STATIC", + "typedExtensionProtocolOptions": { + "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": { + "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", + "explicitHttpConfig": { + "http2ProtocolOptions": {} + } + } + } + }, + { + "connectTimeout": "2s", + "loadAssignment": { + "clusterName": "/envoy-admin", + "endpoints": [ + { + "lbEndpoints": [ + { + "endpoint": { + "address": { + "pipe": { + "path": "/var/run/cilium/envoy/sockets/admin.sock" + } + } + } + } + ] + } + ] + }, + "name": "/envoy-admin", + "type": "STATIC" + } + ], + "listeners": [ + { + "address": { + "socketAddress": { + "address": "0.0.0.0", + "portValue": 9964 + } + }, + "filterChains": [ + { + "filters": [ + { + "name": "envoy.filters.network.http_connection_manager", + "typedConfig": { + "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", + "httpFilters": [ + { + "name": "envoy.filters.http.router", + "typedConfig": { + "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router" + } + } + ], + "internalAddressConfig": { + "cidrRanges": [ + { + "addressPrefix": "10.0.0.0", + "prefixLen": 8 + }, + { + "addressPrefix": "172.16.0.0", + "prefixLen": 12 + }, + { + "addressPrefix": "192.168.0.0", + "prefixLen": 16 + }, + { + "addressPrefix": "127.0.0.1", + "prefixLen": 32 + } + ] + }, + "routeConfig": { + "virtualHosts": [ + { + "domains": [ + "*" + ], + "name": "prometheus_metrics_route", + "routes": [ + { + "match": { + "prefix": "/metrics" + }, + "name": "prometheus_metrics_route", + "route": { + "cluster": "/envoy-admin", + "prefixRewrite": "/stats/prometheus" + } + } + ] + } + ] + }, + "statPrefix": "envoy-prometheus-metrics-listener", + "streamIdleTimeout": "300s" + } + } + ] + } + ], + "name": "envoy-prometheus-metrics-listener" + }, + { + "address": { + "socketAddress": { + "address": "127.0.0.1", + "portValue": 9878 + } + }, + "filterChains": [ + { + "filters": [ + { + "name": "envoy.filters.network.http_connection_manager", + "typedConfig": { + "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", + "httpFilters": [ + { + "name": "envoy.filters.http.router", + "typedConfig": { + "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router" + } + } + ], + "internalAddressConfig": { + "cidrRanges": [ + { + "addressPrefix": "10.0.0.0", + "prefixLen": 8 + }, + { + "addressPrefix": "172.16.0.0", + "prefixLen": 12 + }, + { + "addressPrefix": "192.168.0.0", + "prefixLen": 16 + }, + { + "addressPrefix": "127.0.0.1", + "prefixLen": 32 + } + ] + }, + "routeConfig": { + "virtual_hosts": [ + { + "domains": [ + "*" + ], + "name": "health", + "routes": [ + { + "match": { + "prefix": "/healthz" + }, + "name": "health", + "route": { + "cluster": "/envoy-admin", + "prefixRewrite": "/ready" + } + } + ] + } + ] + }, + "statPrefix": "envoy-health-listener", + "streamIdleTimeout": "300s" + } + } + ] + } + ], + "name": "envoy-health-listener" + } + ] + } +} diff --git a/modules/cni/cilium/base/resources/configs/configmap.env b/modules/cni/cilium/base/resources/configs/configmap.env index 18afbec8..9a297f7c 100644 --- a/modules/cni/cilium/base/resources/configs/configmap.env +++ b/modules/cni/cilium/base/resources/configs/configmap.env @@ -10,11 +10,16 @@ enable-policy=default policy-cidr-match-mode= prometheus-serve-addr=:9962 controller-group-metrics=write-cni-file sync-host-ips sync-lb-maps-with-k8s-services -proxy-prometheus-port=9964 operator-prometheus-serve-addr=:9963 enable-metrics=true +enable-envoy-config=true +envoy-config-retry-interval=15s +enable-policy-secrets-sync=true policy-secrets-only-from-secrets-namespace=true policy-secrets-namespace=kube-system +loadbalancer-l7=envoy +loadbalancer-l7-ports= +loadbalancer-l7-algorithm=round_robin enable-ipv4=true enable-ipv6=false custom-cni-conf=false @@ -138,8 +143,9 @@ proxy-idle-timeout-seconds=60 proxy-max-concurrent-retries=128 http-retry-count=3 http-stream-idle-timeout=300 -external-envoy-proxy=false +external-envoy-proxy=true envoy-base-id=0 +envoy-default-log-level=info envoy-access-log-buffer-size=4096 envoy-keep-cap-netbindservice=false max-connected-clusters=255 diff --git a/modules/cni/cilium/base/resources/configs/kustomization.yaml b/modules/cni/cilium/base/resources/configs/kustomization.yaml index 350b9573..7efc4947 100644 --- a/modules/cni/cilium/base/resources/configs/kustomization.yaml +++ b/modules/cni/cilium/base/resources/configs/kustomization.yaml @@ -11,3 +11,8 @@ configMapGenerator: name: cilium-config options: disableNameSuffixHash: true +- files: + - ./bootstrap-config.json + name: cilium-envoy-config + options: + disableNameSuffixHash: true diff --git a/modules/cni/cilium/base/resources/kustomization.yaml b/modules/cni/cilium/base/resources/kustomization.yaml index c03d9b1d..6adfbb01 100644 --- a/modules/cni/cilium/base/resources/kustomization.yaml +++ b/modules/cni/cilium/base/resources/kustomization.yaml @@ -7,14 +7,17 @@ labels: app.kubernetes.io/component: cni images: - name: quay.io/cilium/cilium - newTag: v1.18.4 - digest: sha256:49d87af187eeeb9e9e3ec2bc6bd372261a0b5cb2d845659463ba7cc10fe9e45f + newTag: v1.18.5 + digest: sha256:2c92fb05962a346eaf0ce11b912ba434dc10bd54b9989e970416681f4a069628 +- name: quay.io/cilium/cilium-envoy + newTag: v1.34.12-1765374555-6a93b0bbba8d6dc75b651cbafeedb062b2997716 + digest: sha256:3108521821c6922695ff1f6ef24b09026c94b195283f8bfbfc0fa49356a156e1 - name: quay.io/cilium/operator-generic - newTag: v1.18.4 - digest: sha256:1b22b9ff28affdf574378a70dade4ef835b00b080c2ee2418530809dd62c3012 + newTag: v1.18.5 + digest: sha256:36c3f6f14c8ced7f45b40b0a927639894b44269dd653f9528e7a0dc363a4eb99 - name: quay.io/cilium/hubble-relay - newTag: v1.18.4 - digest: sha256:6d350cb1c84b847adb152173debef1f774126c69de21a5921a1e6a23b8779723 + newTag: v1.18.5 + digest: sha256:17212962c92ff52384f94e407ffe3698714fcbd35c7575f67f24032d6224e446 - name: quay.io/cilium/hubble-ui newTag: v0.13.3 digest: sha256:661d5de7050182d495c6497ff0b007a7a1e379648e60830dd68c4d78ae21761d @@ -22,8 +25,8 @@ images: newTag: v0.13.3 digest: sha256:db1454e45dc39ca41fbf7cad31eec95d99e5b9949c39daaad0fa81ef29d56953 - name: quay.io/cilium/certgen - newTag: v0.2.4 - digest: sha256:de7b97b1d19a34b674d0c4bc1da4db999f04ae355923a9a994ac3a81e1a1b5ff + newTag: v0.3.1 + digest: sha256:2825dbfa6f89cbed882fd1d81e46a56c087e35885825139923aa29eb8aec47a9 resources: - configs - rbac diff --git a/modules/cni/cilium/base/resources/workloads/cilium-agent/workload/daemonset.yaml b/modules/cni/cilium/base/resources/workloads/cilium-agent/workload/daemonset.yaml index dfa7c3aa..a8b0ff2a 100644 --- a/modules/cni/cilium/base/resources/workloads/cilium-agent/workload/daemonset.yaml +++ b/modules/cni/cilium/base/resources/workloads/cilium-agent/workload/daemonset.yaml @@ -320,10 +320,6 @@ spec: containerPort: 9962 hostPort: 9962 protocol: TCP - - name: envoy-metrics - containerPort: 9964 - hostPort: 9964 - protocol: TCP - name: hubble-metrics containerPort: 9965 hostPort: 9965 @@ -394,6 +390,9 @@ spec: - SETUID terminationMessagePolicy: FallbackToLogsOnError volumeMounts: + - name: envoy-sockets + mountPath: /var/run/cilium/envoy/sockets + readOnly: false - name: cilium-run mountPath: /var/run/cilium readOnly: false @@ -479,6 +478,10 @@ spec: hostPath: path: /etc/cni/net.d type: DirectoryOrCreate + - name: envoy-sockets + hostPath: + path: "/var/run/cilium/envoy/sockets" + type: DirectoryOrCreate - name: clustermesh-secrets projected: defaultMode: 0400 diff --git a/modules/cni/cilium/base/resources/workloads/cilium-envoy/kustomization.yaml b/modules/cni/cilium/base/resources/workloads/cilium-envoy/kustomization.yaml new file mode 100644 index 00000000..f5ecb03b --- /dev/null +++ b/modules/cni/cilium/base/resources/workloads/cilium-envoy/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +labels: +- includeSelectors: true + pairs: + app.kubernetes.io/instance: cilium-envoy + app.kubernetes.io/name: cilium-envoy + k8s-app: cilium-envoy +resources: +- rbac +- workload diff --git a/modules/cni/cilium/base/resources/workloads/cilium-envoy/rbac/kustomization.yaml b/modules/cni/cilium/base/resources/workloads/cilium-envoy/rbac/kustomization.yaml new file mode 100644 index 00000000..e206552d --- /dev/null +++ b/modules/cni/cilium/base/resources/workloads/cilium-envoy/rbac/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- serviceaccount.yaml diff --git a/modules/cni/cilium/base/resources/workloads/cilium-envoy/rbac/serviceaccount.yaml b/modules/cni/cilium/base/resources/workloads/cilium-envoy/rbac/serviceaccount.yaml new file mode 100644 index 00000000..b655960d --- /dev/null +++ b/modules/cni/cilium/base/resources/workloads/cilium-envoy/rbac/serviceaccount.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: cilium-envoy +automountServiceAccountToken: false +secrets: [] diff --git a/modules/cni/cilium/base/resources/workloads/cilium-envoy/workload/daemonset.yaml b/modules/cni/cilium/base/resources/workloads/cilium-envoy/workload/daemonset.yaml new file mode 100644 index 00000000..655c48b8 --- /dev/null +++ b/modules/cni/cilium/base/resources/workloads/cilium-envoy/workload/daemonset.yaml @@ -0,0 +1,158 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: cilium-envoy +spec: + revisionHistoryLimit: 5 + selector: + matchLabels: {} + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 0 + maxUnavailable: 25% + minReadySeconds: 0 + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: cilium-envoy + spec: + serviceAccountName: cilium-envoy + automountServiceAccountToken: false + terminationGracePeriodSeconds: 1 + hostNetwork: true + hostPID: false + hostIPC: false + containers: + - name: cilium-envoy + image: quay.io/cilium/cilium-envoy:latest + resources: {} + command: + - /usr/bin/cilium-envoy-starter + args: + - '--' + - '-c /var/run/cilium/envoy/bootstrap-config.json' + - '--base-id 0' + - '--log-level warning' + env: + - name: K8S_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: CILIUM_K8S_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + ports: + - name: envoy-metrics + containerPort: 9964 + hostPort: 9964 + protocol: TCP + startupProbe: + httpGet: + host: 127.0.0.1 + path: /healthz + port: 9878 + scheme: HTTP + failureThreshold: 105 + periodSeconds: 2 + successThreshold: 1 + initialDelaySeconds: 5 + livenessProbe: + httpGet: + host: 127.0.0.1 + path: /healthz + port: 9878 + scheme: HTTP + periodSeconds: 30 + successThreshold: 1 + failureThreshold: 10 + timeoutSeconds: 5 + readinessProbe: + httpGet: + host: 127.0.0.1 + path: /healthz + port: 9878 + scheme: HTTP + periodSeconds: 30 + successThreshold: 1 + failureThreshold: 3 + timeoutSeconds: 5 + securityContext: + allowPrivilegeEscalation: true + readOnlyRootFilesystem: false + privileged: true + seLinuxOptions: + level: s0 + type: spc_t + capabilities: + drop: + - ALL + add: + - NET_ADMIN + - SYS_ADMIN + terminationMessagePolicy: FallbackToLogsOnError + volumeMounts: + - name: envoy-sockets + mountPath: /var/run/cilium/envoy/sockets + readOnly: false + - name: envoy-artifacts + mountPath: /var/run/cilium/envoy/artifacts + readOnly: true + - name: envoy-config + mountPath: /var/run/cilium/envoy/ + readOnly: true + - name: bpf-maps + mountPath: /sys/fs/bpf + mountPropagation: HostToContainer + securityContext: + appArmorProfile: + type: Unconfined + volumes: + - name: envoy-sockets + hostPath: + path: /var/run/cilium/envoy/sockets + type: DirectoryOrCreate + - name: envoy-artifacts + hostPath: + path: /var/run/cilium/envoy/artifacts + type: DirectoryOrCreate + - name: envoy-config + configMap: + name: cilium-envoy-config + defaultMode: 0400 + items: + - key: bootstrap-config.json + path: bootstrap-config.json + - name: bpf-maps + hostPath: + path: /sys/fs/bpf + type: DirectoryOrCreate + nodeSelector: + kubernetes.io/os: linux + priorityClassName: system-node-critical + tolerations: + - operator: Exists + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: cilium.io/no-schedule + operator: NotIn + values: + - "true" + podAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: + k8s-app: cilium + topologyKey: kubernetes.io/hostname + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: + k8s-app: cilium-envoy + topologyKey: kubernetes.io/hostname diff --git a/modules/cni/cilium/base/resources/workloads/cilium-envoy/workload/kustomization.yaml b/modules/cni/cilium/base/resources/workloads/cilium-envoy/workload/kustomization.yaml new file mode 100644 index 00000000..568594a3 --- /dev/null +++ b/modules/cni/cilium/base/resources/workloads/cilium-envoy/workload/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- daemonset.yaml diff --git a/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/clusterrole.yaml b/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/clusterrole.yaml index 95ce6ede..524d434a 100644 --- a/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/clusterrole.yaml +++ b/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/clusterrole.yaml @@ -53,6 +53,7 @@ rules: - "" resources: - namespaces + - secrets verbs: - get - list diff --git a/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/role.yaml b/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/role.yaml index 2d1bbc5a..2ba8f1bd 100644 --- a/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/role.yaml +++ b/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/role.yaml @@ -1,7 +1,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: mia-platform:cilium-operator + name: mia-platform:cilium-operator:leases rules: - apiGroups: - coordination.k8s.io @@ -11,3 +11,18 @@ rules: - create - get - update +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: mia-platform:cilium-operator:tlsinterception-secrets +rules: +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - update + - patch diff --git a/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/rolebinding.yaml b/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/rolebinding.yaml index 3160c2f8..ef8b5db3 100644 --- a/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/rolebinding.yaml +++ b/modules/cni/cilium/base/resources/workloads/cilium-operator/rbac/rolebinding.yaml @@ -1,11 +1,23 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: mia-platform:cilium-operator + name: mia-platform:cilium-operator:leases roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: mia-platform:cilium-operator + name: mia-platform:cilium-operator:leases +subjects: +- kind: ServiceAccount + name: cilium-operator +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: mia-platform:cilium-operator:tlsinterception-secrets +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: mia-platform:cilium-operator:tlsinterception-secrets subjects: - kind: ServiceAccount name: cilium-operator diff --git a/modules/cni/cilium/base/resources/workloads/kustomization.yaml b/modules/cni/cilium/base/resources/workloads/kustomization.yaml index 95112b62..e1bb24e2 100644 --- a/modules/cni/cilium/base/resources/workloads/kustomization.yaml +++ b/modules/cni/cilium/base/resources/workloads/kustomization.yaml @@ -2,5 +2,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - cilium-agent +- cilium-envoy - cilium-operator - hubble From debf92c7c48cbc55150bce69103721b7c3f2a3e1 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Wed, 7 Jan 2026 17:04:40 +0100 Subject: [PATCH 04/19] feat: update velero version in disaster-recovery module --- modules/disaster-recovery/velero/CHANGELOG.md | 11 ++- modules/disaster-recovery/velero/README.md | 9 ++- .../velero/aws-storage/kustomization.yaml | 4 +- .../velero/azure-storage/kustomization.yaml | 4 +- .../crds/backuprepositories.velero.io.yaml | 3 +- .../velero/base/crds/backups.velero.io.yaml | 4 ++ .../base/crds/datauploads.velero.io.yaml | 3 + .../base/crds/podvolumebackups.velero.io.yaml | 59 ++++++++++------ .../crds/podvolumerestores.velero.io.yaml | 70 ++++++++++++------- .../velero/base/crds/schedules.velero.io.yaml | 4 ++ .../velero/base/minio/kustomization.yaml | 4 +- .../velero/base/resources/kustomization.yaml | 4 +- .../velero/workloads/deployment.yaml | 3 - .../velero/gcp-storage/kustomization.yaml | 4 +- 14 files changed, 115 insertions(+), 71 deletions(-) diff --git a/modules/disaster-recovery/velero/CHANGELOG.md b/modules/disaster-recovery/velero/CHANGELOG.md index e4187350..8daabf48 100644 --- a/modules/disaster-recovery/velero/CHANGELOG.md +++ b/modules/disaster-recovery/velero/CHANGELOG.md @@ -7,12 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v1.33.1 - ### Changed -- update minio images to latest tags - -## v1.33.0 - -- no changes +- update velero to v1.17.1 +- update velero-plugin-for-aws to v1.13.1 +- update velero-plugin-for-microsoft-azure to v1.13.1 +- update velero-plugin-for-gcp to v1.13.1 diff --git a/modules/disaster-recovery/velero/README.md b/modules/disaster-recovery/velero/README.md index b2e6a79d..f90ae585 100644 --- a/modules/disaster-recovery/velero/README.md +++ b/modules/disaster-recovery/velero/README.md @@ -64,26 +64,25 @@ Follow the [instructions below](#gcp-storage) for a correct configuration. | Module Version | Velero | Minio | Minio Config | AWS Plugin | |----------------|--------|------------------------------|------------------------------|------------| -| 1.33.0 | 1.16.2 | RELEASE.2025-07-23T15-54-02Z | RELEASE.2025-07-21T05-28-08Z | 1.12.2 | -| 1.33.1 | 1.16.2 | RELEASE.2025-09-07T16-13-09Z | RELEASE.2025-08-13T08-35-41Z | 1.12.2 | +| 1.34.x | 1.17.1 | RELEASE.2025-07-23T15-54-02Z | RELEASE.2025-07-21T05-28-08Z | 1.13.1 | ### AWS Storage Flavor | Module Version | Velero | AWS Plugin | |----------------|--------|------------| -| 1.33.x | 1.16.2 | 1.12.2 | +| 1.34.x | 1.17.1 | 1.13.1 | ### Azure Storage Flavor | Module Version | Velero | Azure Plugin | |----------------|--------|--------------| -| 1.33.x | 1.16.2 | 1.12.2 | +| 1.34.x | 1.17.1 | 1.13.1 | ### GCP Storage Flavor | Module Version | Velero | GCP Plugin | |----------------|--------|------------| -| 1.33.0 | 1.16.2 | 1.12.2 | +| 1.34.x | 1.17.1 | 1.13.1 | ## User Customization diff --git a/modules/disaster-recovery/velero/aws-storage/kustomization.yaml b/modules/disaster-recovery/velero/aws-storage/kustomization.yaml index c63a3914..9f63e4c8 100644 --- a/modules/disaster-recovery/velero/aws-storage/kustomization.yaml +++ b/modules/disaster-recovery/velero/aws-storage/kustomization.yaml @@ -2,8 +2,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization images: - name: docker.io/velero/velero-plugin-for-aws - newTag: v1.12.2 - digest: sha256:bef271808e0547bb70f69f0430cc73f7a2fa938949c50f7b31171018be967335 + newTag: v1.13.1 + digest: sha256:472d0e486d5d5c23c782b1b123530c7df8645784523ec36ca661a326d47885ff resources: - ../base/crds - ../base/resources diff --git a/modules/disaster-recovery/velero/azure-storage/kustomization.yaml b/modules/disaster-recovery/velero/azure-storage/kustomization.yaml index d94a5d9c..3189a02d 100644 --- a/modules/disaster-recovery/velero/azure-storage/kustomization.yaml +++ b/modules/disaster-recovery/velero/azure-storage/kustomization.yaml @@ -2,8 +2,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization images: - name: docker.io/velero/velero-plugin-for-microsoft-azure - newTag: v1.12.2 - digest: sha256:0f791cd70c4df5101d9e5d1482be0ab3e2a5e2e5693bf902cbdf9835be8a404c + newTag: v1.13.1 + digest: sha256:28ddbcbed8dfb7c901cff5ff5e97ca1e90a83b06cc80d1c069f01a6ab276e2da resources: - ../base/crds - ../base/resources diff --git a/modules/disaster-recovery/velero/base/crds/backuprepositories.velero.io.yaml b/modules/disaster-recovery/velero/base/crds/backuprepositories.velero.io.yaml index 40187bd3..a9e83060 100644 --- a/modules/disaster-recovery/velero/base/crds/backuprepositories.velero.io.yaml +++ b/modules/disaster-recovery/velero/base/crds/backuprepositories.velero.io.yaml @@ -71,7 +71,7 @@ spec: resticIdentifier: description: |- ResticIdentifier is the full restic-compatible string for identifying - this repository. + this repository. This field is only used when RepositoryType is "restic". type: string volumeNamespace: description: |- @@ -81,7 +81,6 @@ spec: required: - backupStorageLocation - maintenanceFrequency - - resticIdentifier - volumeNamespace type: object status: diff --git a/modules/disaster-recovery/velero/base/crds/backups.velero.io.yaml b/modules/disaster-recovery/velero/base/crds/backups.velero.io.yaml index 1b06dfbb..61a32595 100644 --- a/modules/disaster-recovery/velero/base/crds/backups.velero.io.yaml +++ b/modules/disaster-recovery/velero/base/crds/backups.velero.io.yaml @@ -510,6 +510,10 @@ spec: uploads to perform when using the uploader. type: integer type: object + volumeGroupSnapshotLabelKey: + description: VolumeGroupSnapshotLabelKey specifies the label key + to group PVCs under a VGS. + type: string volumeSnapshotLocations: description: VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations associated with this backup. diff --git a/modules/disaster-recovery/velero/base/crds/datauploads.velero.io.yaml b/modules/disaster-recovery/velero/base/crds/datauploads.velero.io.yaml index 4c8e9bd6..7a0bc97e 100644 --- a/modules/disaster-recovery/velero/base/crds/datauploads.velero.io.yaml +++ b/modules/disaster-recovery/velero/base/crds/datauploads.velero.io.yaml @@ -87,6 +87,9 @@ spec: of the CSI snapshot. nullable: true properties: + driver: + description: Driver is the driver used by the VolumeSnapshotContent + type: string snapshotClass: description: SnapshotClass is the name of the snapshot class that the volume snapshot is created with diff --git a/modules/disaster-recovery/velero/base/crds/podvolumebackups.velero.io.yaml b/modules/disaster-recovery/velero/base/crds/podvolumebackups.velero.io.yaml index 85685924..b70e6b22 100644 --- a/modules/disaster-recovery/velero/base/crds/podvolumebackups.velero.io.yaml +++ b/modules/disaster-recovery/velero/base/crds/podvolumebackups.velero.io.yaml @@ -15,38 +15,41 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: Pod Volume Backup status such as New/InProgress + - description: PodVolumeBackup status such as New/InProgress jsonPath: .status.phase name: Status type: string - - description: Time when this backup was started + - description: Time duration since this PodVolumeBackup was started jsonPath: .status.startTimestamp - name: Created + name: Started type: date - - description: Namespace of the pod containing the volume to be backed up - jsonPath: .spec.pod.namespace - name: Namespace - type: string - - description: Name of the pod containing the volume to be backed up - jsonPath: .spec.pod.name - name: Pod - type: string - - description: Name of the volume to be backed up - jsonPath: .spec.volume - name: Volume - type: string - - description: The type of the uploader to handle data transfer - jsonPath: .spec.uploaderType - name: Uploader Type - type: string + - description: Completed bytes + format: int64 + jsonPath: .status.progress.bytesDone + name: Bytes Done + type: integer + - description: Total bytes + format: int64 + jsonPath: .status.progress.totalBytes + name: Total Bytes + type: integer - description: Name of the Backup Storage Location where this backup should be stored jsonPath: .spec.backupStorageLocation name: Storage Location type: string - - jsonPath: .metadata.creationTimestamp + - description: Time duration since this PodVolumeBackup was created + jsonPath: .metadata.creationTimestamp name: Age type: date + - description: Name of the node where the PodVolumeBackup is processed + jsonPath: .status.node + name: Node + type: string + - description: The type of the uploader to handle data transfer + jsonPath: .spec.uploaderType + name: Uploader + type: string name: v1 schema: openAPIV3Schema: @@ -76,6 +79,11 @@ spec: BackupStorageLocation is the name of the backup storage location where the backup repository is stored. type: string + cancel: + description: |- + Cancel indicates request to cancel the ongoing PodVolumeBackup. It can be set + when the PodVolumeBackup is in InProgress phase + type: boolean node: description: Node is the name of the node that the Pod is running on. @@ -165,6 +173,13 @@ spec: status: description: PodVolumeBackupStatus is the current status of a PodVolumeBackup. properties: + acceptedTimestamp: + description: |- + AcceptedTimestamp records the time the pod volume backup is to be prepared. + The server's time is used for AcceptedTimestamp + format: date-time + nullable: true + type: string completionTimestamp: description: |- CompletionTimestamp records the time a backup was completed. @@ -186,7 +201,11 @@ spec: description: Phase is the current state of the PodVolumeBackup. enum: - New + - Accepted + - Prepared - InProgress + - Canceling + - Canceled - Completed - Failed type: string diff --git a/modules/disaster-recovery/velero/base/crds/podvolumerestores.velero.io.yaml b/modules/disaster-recovery/velero/base/crds/podvolumerestores.velero.io.yaml index f4d4efd5..929f5a19 100644 --- a/modules/disaster-recovery/velero/base/crds/podvolumerestores.velero.io.yaml +++ b/modules/disaster-recovery/velero/base/crds/podvolumerestores.velero.io.yaml @@ -15,39 +15,41 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: Namespace of the pod containing the volume to be restored - jsonPath: .spec.pod.namespace - name: Namespace - type: string - - description: Name of the pod containing the volume to be restored - jsonPath: .spec.pod.name - name: Pod - type: string - - description: The type of the uploader to handle data transfer - jsonPath: .spec.uploaderType - name: Uploader Type - type: string - - description: Name of the volume to be restored - jsonPath: .spec.volume - name: Volume - type: string - - description: Pod Volume Restore status such as New/InProgress + - description: PodVolumeRestore status such as New/InProgress jsonPath: .status.phase name: Status type: string - - description: Pod Volume Restore status such as New/InProgress + - description: Time duration since this PodVolumeRestore was started + jsonPath: .status.startTimestamp + name: Started + type: date + - description: Completed bytes format: int64 - jsonPath: .status.progress.totalBytes - name: TotalBytes + jsonPath: .status.progress.bytesDone + name: Bytes Done type: integer - - description: Pod Volume Restore status such as New/InProgress + - description: Total bytes format: int64 - jsonPath: .status.progress.bytesDone - name: BytesDone + jsonPath: .status.progress.totalBytes + name: Total Bytes type: integer - - jsonPath: .metadata.creationTimestamp + - description: Name of the Backup Storage Location where the backup data is + stored + jsonPath: .spec.backupStorageLocation + name: Storage Location + type: string + - description: Time duration since this PodVolumeRestore was created + jsonPath: .metadata.creationTimestamp name: Age type: date + - description: Name of the node where the PodVolumeRestore is processed + jsonPath: .status.node + name: Node + type: string + - description: The type of the uploader to handle data transfer + jsonPath: .spec.uploaderType + name: Uploader Type + type: string name: v1 schema: openAPIV3Schema: @@ -77,6 +79,11 @@ spec: BackupStorageLocation is the name of the backup storage location where the backup repository is stored. type: string + cancel: + description: |- + Cancel indicates request to cancel the ongoing PodVolumeRestore. It can be set + when the PodVolumeRestore is in InProgress phase + type: boolean pod: description: Pod is a reference to the pod containing the volume to be restored. @@ -162,6 +169,13 @@ spec: status: description: PodVolumeRestoreStatus is the current status of a PodVolumeRestore. properties: + acceptedTimestamp: + description: |- + AcceptedTimestamp records the time the pod volume restore is to be prepared. + The server's time is used for AcceptedTimestamp + format: date-time + nullable: true + type: string completionTimestamp: description: |- CompletionTimestamp records the time a restore was completed. @@ -174,11 +188,19 @@ spec: description: Message is a message about the pod volume restore's status. type: string + node: + description: Node is name of the node where the pod volume restore + is processed. + type: string phase: description: Phase is the current state of the PodVolumeRestore. enum: - New + - Accepted + - Prepared - InProgress + - Canceling + - Canceled - Completed - Failed type: string diff --git a/modules/disaster-recovery/velero/base/crds/schedules.velero.io.yaml b/modules/disaster-recovery/velero/base/crds/schedules.velero.io.yaml index 2963bfc6..1cb53c34 100644 --- a/modules/disaster-recovery/velero/base/crds/schedules.velero.io.yaml +++ b/modules/disaster-recovery/velero/base/crds/schedules.velero.io.yaml @@ -551,6 +551,10 @@ spec: parallel uploads to perform when using the uploader. type: integer type: object + volumeGroupSnapshotLabelKey: + description: VolumeGroupSnapshotLabelKey specifies the label + key to group PVCs under a VGS. + type: string volumeSnapshotLocations: description: VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations associated with this backup. diff --git a/modules/disaster-recovery/velero/base/minio/kustomization.yaml b/modules/disaster-recovery/velero/base/minio/kustomization.yaml index cd715a7c..cafade33 100644 --- a/modules/disaster-recovery/velero/base/minio/kustomization.yaml +++ b/modules/disaster-recovery/velero/base/minio/kustomization.yaml @@ -8,8 +8,8 @@ images: newTag: RELEASE.2025-08-13T08-35-41Z digest: sha256:a7fe349ef4bd8521fb8497f55c6042871b2ae640607cf99d9bede5e9bdf11727 - name: docker.io/velero/velero-plugin-for-aws - newTag: v1.12.2 - digest: sha256:bef271808e0547bb70f69f0430cc73f7a2fa938949c50f7b31171018be967335 + newTag: v1.13.1 + digest: sha256:472d0e486d5d5c23c782b1b123530c7df8645784523ec36ca661a326d47885ff resources: - workloads patches: diff --git a/modules/disaster-recovery/velero/base/resources/kustomization.yaml b/modules/disaster-recovery/velero/base/resources/kustomization.yaml index da1fb3ae..333b3fb8 100644 --- a/modules/disaster-recovery/velero/base/resources/kustomization.yaml +++ b/modules/disaster-recovery/velero/base/resources/kustomization.yaml @@ -7,8 +7,8 @@ labels: app.kubernetes.io/component: disaster-recovery images: - name: docker.io/velero/velero - newTag: v1.16.2 - digest: sha256:ff208717857140f0b51a440fe9611f7d19f21eacc17318cb4bcd44d66ed04086 + newTag: v1.17.1 + digest: sha256:58f551f0d89a9ef1919771bdc7475c08bc1795a50a51a57b5f14316d68fc3baa resources: - configs - rbac diff --git a/modules/disaster-recovery/velero/base/resources/workloads/velero/workloads/deployment.yaml b/modules/disaster-recovery/velero/base/resources/workloads/velero/workloads/deployment.yaml index 48bf4355..6666162e 100644 --- a/modules/disaster-recovery/velero/base/resources/workloads/velero/workloads/deployment.yaml +++ b/modules/disaster-recovery/velero/base/resources/workloads/velero/workloads/deployment.yaml @@ -30,7 +30,6 @@ spec: - --uploader-type=kopia - --metrics-address=$(POD_IP):$(METRICS_PORT) - --profiler-address=localhost:$(PROFILER_PORT) - - --keep-latest-maintenance-jobs=$(MAINTENANCE_JOBS_NUMBER) env: - name: VELERO_SCRATCH_DIR value: /scratch @@ -49,8 +48,6 @@ spec: value: PORT - name: PROFILER_PORT value: PORT - - name: MAINTENANCE_JOBS_NUMBER - value: "3" ports: - name: metrics containerPort: 11270 diff --git a/modules/disaster-recovery/velero/gcp-storage/kustomization.yaml b/modules/disaster-recovery/velero/gcp-storage/kustomization.yaml index dba0b21c..b6474f3b 100644 --- a/modules/disaster-recovery/velero/gcp-storage/kustomization.yaml +++ b/modules/disaster-recovery/velero/gcp-storage/kustomization.yaml @@ -2,8 +2,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization images: - name: docker.io/velero/velero-plugin-for-gcp - newTag: v1.12.2 - digest: sha256:b2592530079e264c5799b093ea95c5b59e76d0ecb2bcfca7ae542fa7e33fecf6 + newTag: v1.13.1 + digest: sha256:24b74f9c7e0ee3361bc289d422d51effd3b7ead6eb709ac16e64da7ea6b4dc4a resources: - ../base/crds - ../base/resources From dc7ba59734dd779bd25ddb67c2bdd8b59e292b20 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 10:43:43 +0100 Subject: [PATCH 05/19] feat: update traefik version in ingress module --- modules/ingress/traefik/CHANGELOG.md | 22 +- modules/ingress/traefik/README.md | 5 +- ...tlspolicies.gateway.networking.k8s.io.yaml | 1326 + ...ewayclasses.gateway.networking.k8s.io.yaml | 41 +- .../gateways.gateway.networking.k8s.io.yaml | 53 +- .../grpcroutes.gateway.networking.k8s.io.yaml | 23 +- .../httproutes.gateway.networking.k8s.io.yaml | 47 +- .../base/crds/ingressroutes.traefik.io.yaml | 73 +- .../crds/ingressroutetcps.traefik.io.yaml | 18 +- .../crds/ingressrouteudps.traefik.io.yaml | 2 +- .../traefik/base/crds/kustomization.yaml | 1 + .../base/crds/middlewares.traefik.io.yaml | 91 +- .../base/crds/middlewaretcps.traefik.io.yaml | 6 +- ...rencegrants.gateway.networking.k8s.io.yaml | 5 +- .../crds/serverstransports.traefik.io.yaml | 2 +- .../crds/serverstransporttcps.traefik.io.yaml | 2 +- .../base/crds/tlsoptions.traefik.io.yaml | 8 +- .../base/crds/tlsstores.traefik.io.yaml | 2 +- .../base/crds/traefikservices.traefik.io.yaml | 317 +- .../traefik/base/resources/kustomization.yaml | 4 +- .../traefik/base/resources/swagger.json | 50868 +++++++++------- .../traefik/workloads/deployment.yaml | 7 + 22 files changed, 30165 insertions(+), 22758 deletions(-) create mode 100644 modules/ingress/traefik/base/crds/backendtlspolicies.gateway.networking.k8s.io.yaml diff --git a/modules/ingress/traefik/CHANGELOG.md b/modules/ingress/traefik/CHANGELOG.md index ccb821e6..bad41d12 100644 --- a/modules/ingress/traefik/CHANGELOG.md +++ b/modules/ingress/traefik/CHANGELOG.md @@ -7,26 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v1.33.3 - -### Changed - -- update traefik to v3.5.6 - -## v1.33.2 - -### Changed - -- update traefik to v3.5.4 - -## v1.33.1 - -### Changed - -- update traefik to v3.5.2 - -## v1.33.0 - ### Changed -- update traefik to v3.5.1 +- update traefik to v3.6.6 diff --git a/modules/ingress/traefik/README.md b/modules/ingress/traefik/README.md index 0733c77d..d74616f4 100644 --- a/modules/ingress/traefik/README.md +++ b/modules/ingress/traefik/README.md @@ -66,10 +66,7 @@ Kubernetes: | Module Version | Tool Version | |----------------|----------------| -| 1.33.0 | 3.5.1 | -| 1.33.1 | 3.5.2 | -| 1.33.2 | 3.5.4 | -| 1.33.3 | 3.5.6 | +| 1.34.0 | 3.6.6 | ## User customization diff --git a/modules/ingress/traefik/base/crds/backendtlspolicies.gateway.networking.k8s.io.yaml b/modules/ingress/traefik/base/crds/backendtlspolicies.gateway.networking.k8s.io.yaml new file mode 100644 index 00000000..d72ce496 --- /dev/null +++ b/modules/ingress/traefik/base/crds/backendtlspolicies.gateway.networking.k8s.io.yaml @@ -0,0 +1,1326 @@ +# Copyright 2025 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/3328 + gateway.networking.k8s.io/bundle-version: v1.4.0 + gateway.networking.k8s.io/channel: standard + labels: + gateway.networking.k8s.io/policy: Direct + name: backendtlspolicies.gateway.networking.k8s.io +spec: + group: gateway.networking.k8s.io + names: + categories: + - gateway-api + kind: BackendTLSPolicy + listKind: BackendTLSPolicyList + plural: backendtlspolicies + shortNames: + - btlspolicy + singular: backendtlspolicy + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: |- + BackendTLSPolicy provides a way to configure how a Gateway + connects to a Backend via TLS. + 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 + 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 + metadata: + type: object + spec: + description: Spec defines the desired state of BackendTLSPolicy. + properties: + options: + additionalProperties: + description: |- + AnnotationValue is the value of an annotation in Gateway API. This is used + for validation of maps such as TLS options. This roughly matches Kubernetes + annotation validation, although the length validation in that case is based + on the entire size of the annotations struct. + maxLength: 4096 + minLength: 0 + type: string + description: |- + Options are a list of key/value pairs to enable extended TLS + configuration for each implementation. For example, configuring the + minimum TLS version or supported cipher suites. + + A set of common keys MAY be defined by the API in the future. To avoid + any ambiguity, implementation-specific definitions MUST use + domain-prefixed names, such as `example.com/my-custom-option`. + Un-prefixed names are reserved for key names defined by Gateway API. + + Support: Implementation-specific + maxProperties: 16 + type: object + targetRefs: + description: |- + TargetRefs identifies an API object to apply the policy to. + Only Services have Extended support. Implementations MAY support + additional objects, with Implementation Specific support. + Note that this config applies to the entire referenced resource + by default, but this default may change in the future to provide + a more granular application of the policy. + + TargetRefs must be _distinct_. This means either that: + + * They select different targets. If this is the case, then targetRef + entries are distinct. In terms of fields, this means that the + multi-part key defined by `group`, `kind`, and `name` must + be unique across all targetRef entries in the BackendTLSPolicy. + * They select different sectionNames in the same target. + + When more than one BackendTLSPolicy selects the same target and + sectionName, implementations MUST determine precedence using the + following criteria, continuing on ties: + + * The older policy by creation timestamp takes precedence. For + example, a policy with a creation timestamp of "2021-07-15 + 01:02:03" MUST be given precedence over a policy with a + creation timestamp of "2021-07-15 01:02:04". + * The policy appearing first in alphabetical order by {name}. + For example, a policy named `bar` is given precedence over a + policy named `baz`. + + For any BackendTLSPolicy that does not take precedence, the + implementation MUST ensure the `Accepted` Condition is set to + `status: False`, with Reason `Conflicted`. + + Support: Extended for Kubernetes Service + + Support: Implementation-specific for any other resource + items: + description: |- + LocalPolicyTargetReferenceWithSectionName identifies an API object to apply a + direct policy to. This should be used as part of Policy resources that can + target single resources. For more information on how this policy attachment + mode works, and a sample Policy resource, refer to the policy attachment + documentation for Gateway API. + + Note: This should only be used for direct policy attachment when references + to SectionName are actually needed. In all other cases, + LocalPolicyTargetReference should be used. + properties: + group: + description: Group is the group of the target resource. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is kind of the target resource. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the target resource. + maxLength: 253 + minLength: 1 + type: string + sectionName: + description: |- + SectionName is the name of a section within the target resource. When + unspecified, this targetRef targets the entire resource. In the following + resources, SectionName is interpreted as the following: + + * Gateway: Listener name + * HTTPRoute: HTTPRouteRule name + * Service: Port name + + If a SectionName is specified, but does not exist on the targeted object, + the Policy must fail to attach, and the policy implementation should record + a `ResolvedRefs` or similar Condition in the Policy's status. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - group + - kind + - name + type: object + maxItems: 16 + minItems: 1 + type: array + x-kubernetes-list-type: atomic + x-kubernetes-validations: + - message: sectionName must be specified when targetRefs includes + 2 or more references to the same target + rule: 'self.all(p1, self.all(p2, p1.group == p2.group && p1.kind + == p2.kind && p1.name == p2.name ? ((!has(p1.sectionName) || p1.sectionName + == '''') == (!has(p2.sectionName) || p2.sectionName == '''')) + : true))' + - message: sectionName must be unique when targetRefs includes 2 or + more references to the same target + rule: self.all(p1, self.exists_one(p2, p1.group == p2.group && p1.kind + == p2.kind && p1.name == p2.name && (((!has(p1.sectionName) || + p1.sectionName == '') && (!has(p2.sectionName) || p2.sectionName + == '')) || (has(p1.sectionName) && has(p2.sectionName) && p1.sectionName + == p2.sectionName)))) + validation: + description: Validation contains backend TLS validation configuration. + properties: + caCertificateRefs: + description: |- + CACertificateRefs contains one or more references to Kubernetes objects that + contain a PEM-encoded TLS CA certificate bundle, which is used to + validate a TLS handshake between the Gateway and backend Pod. + + If CACertificateRefs is empty or unspecified, then WellKnownCACertificates must be + specified. Only one of CACertificateRefs or WellKnownCACertificates may be specified, + not both. If CACertificateRefs is empty or unspecified, the configuration for + WellKnownCACertificates MUST be honored instead if supported by the implementation. + + A CACertificateRef is invalid if: + + * It refers to a resource that cannot be resolved (e.g., the referenced resource + does not exist) or is misconfigured (e.g., a ConfigMap does not contain a key + named `ca.crt`). In this case, the Reason must be set to `InvalidCACertificateRef` + and the Message of the Condition must indicate which reference is invalid and why. + + * It refers to an unknown or unsupported kind of resource. In this case, the Reason + must be set to `InvalidKind` and the Message of the Condition must explain which + kind of resource is unknown or unsupported. + + * It refers to a resource in another namespace. This may change in future + spec updates. + + Implementations MAY choose to perform further validation of the certificate + content (e.g., checking expiry or enforcing specific formats). In such cases, + an implementation-specific Reason and Message must be set for the invalid reference. + + In all cases, the implementation MUST ensure the `ResolvedRefs` Condition on + the BackendTLSPolicy is set to `status: False`, with a Reason and Message + that indicate the cause of the error. Connections using an invalid + CACertificateRef MUST fail, and the client MUST receive an HTTP 5xx error + response. If ALL CACertificateRefs are invalid, the implementation MUST also + ensure the `Accepted` Condition on the BackendTLSPolicy is set to + `status: False`, with a Reason `NoValidCACertificate`. + + A single CACertificateRef to a Kubernetes ConfigMap kind has "Core" support. + Implementations MAY choose to support attaching multiple certificates to + a backend, but this behavior is implementation-specific. + + Support: Core - An optional single reference to a Kubernetes ConfigMap, + with the CA certificate in a key named `ca.crt`. + + Support: Implementation-specific - More than one reference, other kinds + of resources, or a single reference that includes multiple certificates. + items: + description: |- + LocalObjectReference identifies an API object within the namespace of the + referrer. + The API object must be valid in the cluster; the Group and Kind must + be registered in the cluster for this reference to be valid. + + References to objects with invalid Group and Kind are not valid, and must + be rejected by the implementation, with appropriate Conditions set + on the containing object. + properties: + group: + description: |- + Group is the group of the referent. For example, "gateway.networking.k8s.io". + When unspecified or empty string, core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is kind of the referent. For example "HTTPRoute" + or "Service". + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + required: + - group + - kind + - name + type: object + maxItems: 8 + type: array + x-kubernetes-list-type: atomic + hostname: + description: |- + Hostname is used for two purposes in the connection between Gateways and + backends: + + 1. Hostname MUST be used as the SNI to connect to the backend (RFC 6066). + 2. Hostname MUST be used for authentication and MUST match the certificate + served by the matching backend, unless SubjectAltNames is specified. + 3. If SubjectAltNames are specified, Hostname can be used for certificate selection + but MUST NOT be used for authentication. If you want to use the value + of the Hostname field for authentication, you MUST add it to the SubjectAltNames list. + + Support: Core + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + subjectAltNames: + description: |- + SubjectAltNames contains one or more Subject Alternative Names. + When specified the certificate served from the backend MUST + have at least one Subject Alternate Name matching one of the specified SubjectAltNames. + + Support: Extended + items: + description: SubjectAltName represents Subject Alternative Name. + properties: + hostname: + description: |- + Hostname contains Subject Alternative Name specified in DNS name format. + Required when Type is set to Hostname, ignored otherwise. + + Support: Core + maxLength: 253 + minLength: 1 + pattern: ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + type: + description: |- + Type determines the format of the Subject Alternative Name. Always required. + + Support: Core + enum: + - Hostname + - URI + type: string + uri: + description: |- + URI contains Subject Alternative Name specified in a full URI format. + It MUST include both a scheme (e.g., "http" or "ftp") and a scheme-specific-part. + Common values include SPIFFE IDs like "spiffe://mycluster.example.com/ns/myns/sa/svc1sa". + Required when Type is set to URI, ignored otherwise. + + Support: Core + maxLength: 253 + minLength: 1 + pattern: ^(([^:/?#]+):)(//([^/?#]*))([^?#]*)(\?([^#]*))?(#(.*))? + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: SubjectAltName element must contain Hostname, if + Type is set to Hostname + rule: '!(self.type == "Hostname" && (!has(self.hostname) || + self.hostname == ""))' + - message: SubjectAltName element must not contain Hostname, + if Type is not set to Hostname + rule: '!(self.type != "Hostname" && has(self.hostname) && + self.hostname != "")' + - message: SubjectAltName element must contain URI, if Type + is set to URI + rule: '!(self.type == "URI" && (!has(self.uri) || self.uri + == ""))' + - message: SubjectAltName element must not contain URI, if Type + is not set to URI + rule: '!(self.type != "URI" && has(self.uri) && self.uri != + "")' + maxItems: 5 + type: array + x-kubernetes-list-type: atomic + wellKnownCACertificates: + description: |- + WellKnownCACertificates specifies whether system CA certificates may be used in + the TLS handshake between the gateway and backend pod. + + If WellKnownCACertificates is unspecified or empty (""), then CACertificateRefs + must be specified with at least one entry for a valid configuration. Only one of + CACertificateRefs or WellKnownCACertificates may be specified, not both. + If an implementation does not support the WellKnownCACertificates field, or + the supplied value is not recognized, the implementation MUST ensure the + `Accepted` Condition on the BackendTLSPolicy is set to `status: False`, with + a Reason `Invalid`. + + Support: Implementation-specific + enum: + - System + type: string + required: + - hostname + type: object + x-kubernetes-validations: + - message: must not contain both CACertificateRefs and WellKnownCACertificates + rule: '!(has(self.caCertificateRefs) && size(self.caCertificateRefs) + > 0 && has(self.wellKnownCACertificates) && self.wellKnownCACertificates + != "")' + - message: must specify either CACertificateRefs or WellKnownCACertificates + rule: (has(self.caCertificateRefs) && size(self.caCertificateRefs) + > 0 || has(self.wellKnownCACertificates) && self.wellKnownCACertificates + != "") + required: + - targetRefs + - validation + type: object + status: + description: Status defines the current state of BackendTLSPolicy. + properties: + ancestors: + description: |- + Ancestors is a list of ancestor resources (usually Gateways) that are + associated with the policy, and the status of the policy with respect to + each ancestor. When this policy attaches to a parent, the controller that + manages the parent and the ancestors MUST add an entry to this list when + the controller first sees the policy and SHOULD update the entry as + appropriate when the relevant ancestor is modified. + + Note that choosing the relevant ancestor is left to the Policy designers; + an important part of Policy design is designing the right object level at + which to namespace this status. + + Note also that implementations MUST ONLY populate ancestor status for + the Ancestor resources they are responsible for. Implementations MUST + use the ControllerName field to uniquely identify the entries in this list + that they are responsible for. + + Note that to achieve this, the list of PolicyAncestorStatus structs + MUST be treated as a map with a composite key, made up of the AncestorRef + and ControllerName fields combined. + + A maximum of 16 ancestors will be represented in this list. An empty list + means the Policy is not relevant for any ancestors. + + If this slice is full, implementations MUST NOT add further entries. + Instead they MUST consider the policy unimplementable and signal that + on any related resources such as the ancestor that would be referenced + here. For example, if this list was full on BackendTLSPolicy, no + additional Gateways would be able to reference the Service targeted by + the BackendTLSPolicy. + items: + description: |- + PolicyAncestorStatus describes the status of a route with respect to an + associated Ancestor. + + Ancestors refer to objects that are either the Target of a policy or above it + in terms of object hierarchy. For example, if a policy targets a Service, the + Policy's Ancestors are, in order, the Service, the HTTPRoute, the Gateway, and + the GatewayClass. Almost always, in this hierarchy, the Gateway will be the most + useful object to place Policy status on, so we recommend that implementations + SHOULD use Gateway as the PolicyAncestorStatus object unless the designers + have a _very_ good reason otherwise. + + In the context of policy attachment, the Ancestor is used to distinguish which + resource results in a distinct application of this policy. For example, if a policy + targets a Service, it may have a distinct result per attached Gateway. + + Policies targeting the same resource may have different effects depending on the + ancestors of those resources. For example, different Gateways targeting the same + Service may have different capabilities, especially if they have different underlying + implementations. + + For example, in BackendTLSPolicy, the Policy attaches to a Service that is + used as a backend in a HTTPRoute that is itself attached to a Gateway. + In this case, the relevant object for status is the Gateway, and that is the + ancestor object referred to in this status. + + Note that a parent is also an ancestor, so for objects where the parent is the + relevant object for status, this struct SHOULD still be used. + + This struct is intended to be used in a slice that's effectively a map, + with a composite key made up of the AncestorRef and the ControllerName. + properties: + ancestorRef: + description: |- + AncestorRef corresponds with a ParentRef in the spec that this + PolicyAncestorStatus struct describes the status of. + properties: + group: + default: gateway.networking.k8s.io + description: |- + Group is the group of the referent. + When unspecified, "gateway.networking.k8s.io" is inferred. + To set the core API group (such as for a "Service" kind referent), + Group must be explicitly set to "" (empty string). + + Support: Core + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Gateway + description: |- + Kind is kind of the referent. + + There are two kinds of parent resources with "Core" support: + + * Gateway (Gateway conformance profile) + * Service (Mesh conformance profile, ClusterIP Services only) + + Support for other resources is Implementation-Specific. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: |- + Name is the name of the referent. + + Support: Core + maxLength: 253 + minLength: 1 + type: string + namespace: + description: |- + Namespace is the namespace of the referent. When unspecified, this refers + to the local namespace of the Route. + + Note that there are specific rules for ParentRefs which cross namespace + boundaries. Cross-namespace references are only valid if they are explicitly + allowed by something in the namespace they are referring to. For example: + Gateway has the AllowedRoutes field, and ReferenceGrant provides a + generic way to enable any other kind of cross-namespace reference. + + Support: Core + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + description: |- + Port is the network port this Route targets. It can be interpreted + differently based on the type of parent resource. + + When the parent resource is a Gateway, this targets all listeners + listening on the specified port that also support this kind of Route(and + select this Route). It's not recommended to set `Port` unless the + networking behaviors specified in a Route must apply to a specific port + as opposed to a listener(s) whose port(s) may be changed. When both Port + and SectionName are specified, the name and port of the selected listener + must match both specified values. + + Implementations MAY choose to support other parent resources. + Implementations supporting other types of parent resources MUST clearly + document how/if Port is interpreted. + + For the purpose of status, an attachment is considered successful as + long as the parent resource accepts it partially. For example, Gateway + listeners can restrict which Routes can attach to them by Route kind, + namespace, or hostname. If 1 of 2 Gateway listeners accept attachment + from the referencing Route, the Route MUST be considered successfully + attached. If no Gateway listeners accept attachment from this Route, + the Route MUST be considered detached from the Gateway. + + Support: Extended + format: int32 + maximum: 65535 + minimum: 1 + type: integer + sectionName: + description: |- + SectionName is the name of a section within the target resource. In the + following resources, SectionName is interpreted as the following: + + * Gateway: Listener name. When both Port (experimental) and SectionName + are specified, the name and port of the selected listener must match + both specified values. + * Service: Port name. When both Port (experimental) and SectionName + are specified, the name and port of the selected listener must match + both specified values. + + Implementations MAY choose to support attaching Routes to other resources. + If that is the case, they MUST clearly document how SectionName is + interpreted. + + When unspecified (empty string), this will reference the entire resource. + For the purpose of status, an attachment is considered successful if at + least one section in the parent resource accepts it. For example, Gateway + listeners can restrict which Routes can attach to them by Route kind, + namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from + the referencing Route, the Route MUST be considered successfully + attached. If no Gateway listeners accept attachment from this Route, the + Route MUST be considered detached from the Gateway. + + Support: Core + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + type: object + conditions: + description: Conditions describes the status of the Policy with + respect to the given Ancestor. + items: + description: Condition contains details for one aspect of + the current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 8 + minItems: 1 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + controllerName: + description: |- + ControllerName is a domain/path string that indicates the name of the + controller that wrote this status. This corresponds with the + controllerName field on GatewayClass. + + Example: "example.net/gateway-controller". + + The format of this field is DOMAIN "/" PATH, where DOMAIN and PATH are + valid Kubernetes names + (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + + Controllers MUST populate this field when writing status. Controllers should ensure that + entries to status populated with their ControllerName are cleaned up when they are no + longer necessary. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$ + type: string + required: + - ancestorRef + - conditions + - controllerName + type: object + maxItems: 16 + type: array + x-kubernetes-list-type: atomic + required: + - ancestors + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} + - deprecated: true + deprecationWarning: The v1alpha3 version of BackendTLSPolicy has been deprecated + and will be removed in a future release of the API. Please upgrade to v1. + name: v1alpha3 + schema: + openAPIV3Schema: + description: |- + BackendTLSPolicy provides a way to configure how a Gateway + connects to a Backend via TLS. + 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 + 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 + metadata: + type: object + spec: + description: Spec defines the desired state of BackendTLSPolicy. + properties: + options: + additionalProperties: + description: |- + AnnotationValue is the value of an annotation in Gateway API. This is used + for validation of maps such as TLS options. This roughly matches Kubernetes + annotation validation, although the length validation in that case is based + on the entire size of the annotations struct. + maxLength: 4096 + minLength: 0 + type: string + description: |- + Options are a list of key/value pairs to enable extended TLS + configuration for each implementation. For example, configuring the + minimum TLS version or supported cipher suites. + + A set of common keys MAY be defined by the API in the future. To avoid + any ambiguity, implementation-specific definitions MUST use + domain-prefixed names, such as `example.com/my-custom-option`. + Un-prefixed names are reserved for key names defined by Gateway API. + + Support: Implementation-specific + maxProperties: 16 + type: object + targetRefs: + description: |- + TargetRefs identifies an API object to apply the policy to. + Only Services have Extended support. Implementations MAY support + additional objects, with Implementation Specific support. + Note that this config applies to the entire referenced resource + by default, but this default may change in the future to provide + a more granular application of the policy. + + TargetRefs must be _distinct_. This means either that: + + * They select different targets. If this is the case, then targetRef + entries are distinct. In terms of fields, this means that the + multi-part key defined by `group`, `kind`, and `name` must + be unique across all targetRef entries in the BackendTLSPolicy. + * They select different sectionNames in the same target. + + When more than one BackendTLSPolicy selects the same target and + sectionName, implementations MUST determine precedence using the + following criteria, continuing on ties: + + * The older policy by creation timestamp takes precedence. For + example, a policy with a creation timestamp of "2021-07-15 + 01:02:03" MUST be given precedence over a policy with a + creation timestamp of "2021-07-15 01:02:04". + * The policy appearing first in alphabetical order by {name}. + For example, a policy named `bar` is given precedence over a + policy named `baz`. + + For any BackendTLSPolicy that does not take precedence, the + implementation MUST ensure the `Accepted` Condition is set to + `status: False`, with Reason `Conflicted`. + + Support: Extended for Kubernetes Service + + Support: Implementation-specific for any other resource + items: + description: |- + LocalPolicyTargetReferenceWithSectionName identifies an API object to apply a + direct policy to. This should be used as part of Policy resources that can + target single resources. For more information on how this policy attachment + mode works, and a sample Policy resource, refer to the policy attachment + documentation for Gateway API. + + Note: This should only be used for direct policy attachment when references + to SectionName are actually needed. In all other cases, + LocalPolicyTargetReference should be used. + properties: + group: + description: Group is the group of the target resource. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is kind of the target resource. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the target resource. + maxLength: 253 + minLength: 1 + type: string + sectionName: + description: |- + SectionName is the name of a section within the target resource. When + unspecified, this targetRef targets the entire resource. In the following + resources, SectionName is interpreted as the following: + + * Gateway: Listener name + * HTTPRoute: HTTPRouteRule name + * Service: Port name + + If a SectionName is specified, but does not exist on the targeted object, + the Policy must fail to attach, and the policy implementation should record + a `ResolvedRefs` or similar Condition in the Policy's status. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - group + - kind + - name + type: object + maxItems: 16 + minItems: 1 + type: array + x-kubernetes-list-type: atomic + x-kubernetes-validations: + - message: sectionName must be specified when targetRefs includes + 2 or more references to the same target + rule: 'self.all(p1, self.all(p2, p1.group == p2.group && p1.kind + == p2.kind && p1.name == p2.name ? ((!has(p1.sectionName) || p1.sectionName + == '''') == (!has(p2.sectionName) || p2.sectionName == '''')) + : true))' + - message: sectionName must be unique when targetRefs includes 2 or + more references to the same target + rule: self.all(p1, self.exists_one(p2, p1.group == p2.group && p1.kind + == p2.kind && p1.name == p2.name && (((!has(p1.sectionName) || + p1.sectionName == '') && (!has(p2.sectionName) || p2.sectionName + == '')) || (has(p1.sectionName) && has(p2.sectionName) && p1.sectionName + == p2.sectionName)))) + validation: + description: Validation contains backend TLS validation configuration. + properties: + caCertificateRefs: + description: |- + CACertificateRefs contains one or more references to Kubernetes objects that + contain a PEM-encoded TLS CA certificate bundle, which is used to + validate a TLS handshake between the Gateway and backend Pod. + + If CACertificateRefs is empty or unspecified, then WellKnownCACertificates must be + specified. Only one of CACertificateRefs or WellKnownCACertificates may be specified, + not both. If CACertificateRefs is empty or unspecified, the configuration for + WellKnownCACertificates MUST be honored instead if supported by the implementation. + + A CACertificateRef is invalid if: + + * It refers to a resource that cannot be resolved (e.g., the referenced resource + does not exist) or is misconfigured (e.g., a ConfigMap does not contain a key + named `ca.crt`). In this case, the Reason must be set to `InvalidCACertificateRef` + and the Message of the Condition must indicate which reference is invalid and why. + + * It refers to an unknown or unsupported kind of resource. In this case, the Reason + must be set to `InvalidKind` and the Message of the Condition must explain which + kind of resource is unknown or unsupported. + + * It refers to a resource in another namespace. This may change in future + spec updates. + + Implementations MAY choose to perform further validation of the certificate + content (e.g., checking expiry or enforcing specific formats). In such cases, + an implementation-specific Reason and Message must be set for the invalid reference. + + In all cases, the implementation MUST ensure the `ResolvedRefs` Condition on + the BackendTLSPolicy is set to `status: False`, with a Reason and Message + that indicate the cause of the error. Connections using an invalid + CACertificateRef MUST fail, and the client MUST receive an HTTP 5xx error + response. If ALL CACertificateRefs are invalid, the implementation MUST also + ensure the `Accepted` Condition on the BackendTLSPolicy is set to + `status: False`, with a Reason `NoValidCACertificate`. + + A single CACertificateRef to a Kubernetes ConfigMap kind has "Core" support. + Implementations MAY choose to support attaching multiple certificates to + a backend, but this behavior is implementation-specific. + + Support: Core - An optional single reference to a Kubernetes ConfigMap, + with the CA certificate in a key named `ca.crt`. + + Support: Implementation-specific - More than one reference, other kinds + of resources, or a single reference that includes multiple certificates. + items: + description: |- + LocalObjectReference identifies an API object within the namespace of the + referrer. + The API object must be valid in the cluster; the Group and Kind must + be registered in the cluster for this reference to be valid. + + References to objects with invalid Group and Kind are not valid, and must + be rejected by the implementation, with appropriate Conditions set + on the containing object. + properties: + group: + description: |- + Group is the group of the referent. For example, "gateway.networking.k8s.io". + When unspecified or empty string, core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is kind of the referent. For example "HTTPRoute" + or "Service". + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + required: + - group + - kind + - name + type: object + maxItems: 8 + type: array + x-kubernetes-list-type: atomic + hostname: + description: |- + Hostname is used for two purposes in the connection between Gateways and + backends: + + 1. Hostname MUST be used as the SNI to connect to the backend (RFC 6066). + 2. Hostname MUST be used for authentication and MUST match the certificate + served by the matching backend, unless SubjectAltNames is specified. + 3. If SubjectAltNames are specified, Hostname can be used for certificate selection + but MUST NOT be used for authentication. If you want to use the value + of the Hostname field for authentication, you MUST add it to the SubjectAltNames list. + + Support: Core + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + subjectAltNames: + description: |- + SubjectAltNames contains one or more Subject Alternative Names. + When specified the certificate served from the backend MUST + have at least one Subject Alternate Name matching one of the specified SubjectAltNames. + + Support: Extended + items: + description: SubjectAltName represents Subject Alternative Name. + properties: + hostname: + description: |- + Hostname contains Subject Alternative Name specified in DNS name format. + Required when Type is set to Hostname, ignored otherwise. + + Support: Core + maxLength: 253 + minLength: 1 + pattern: ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + type: + description: |- + Type determines the format of the Subject Alternative Name. Always required. + + Support: Core + enum: + - Hostname + - URI + type: string + uri: + description: |- + URI contains Subject Alternative Name specified in a full URI format. + It MUST include both a scheme (e.g., "http" or "ftp") and a scheme-specific-part. + Common values include SPIFFE IDs like "spiffe://mycluster.example.com/ns/myns/sa/svc1sa". + Required when Type is set to URI, ignored otherwise. + + Support: Core + maxLength: 253 + minLength: 1 + pattern: ^(([^:/?#]+):)(//([^/?#]*))([^?#]*)(\?([^#]*))?(#(.*))? + type: string + required: + - type + type: object + x-kubernetes-validations: + - message: SubjectAltName element must contain Hostname, if + Type is set to Hostname + rule: '!(self.type == "Hostname" && (!has(self.hostname) || + self.hostname == ""))' + - message: SubjectAltName element must not contain Hostname, + if Type is not set to Hostname + rule: '!(self.type != "Hostname" && has(self.hostname) && + self.hostname != "")' + - message: SubjectAltName element must contain URI, if Type + is set to URI + rule: '!(self.type == "URI" && (!has(self.uri) || self.uri + == ""))' + - message: SubjectAltName element must not contain URI, if Type + is not set to URI + rule: '!(self.type != "URI" && has(self.uri) && self.uri != + "")' + maxItems: 5 + type: array + x-kubernetes-list-type: atomic + wellKnownCACertificates: + description: |- + WellKnownCACertificates specifies whether system CA certificates may be used in + the TLS handshake between the gateway and backend pod. + + If WellKnownCACertificates is unspecified or empty (""), then CACertificateRefs + must be specified with at least one entry for a valid configuration. Only one of + CACertificateRefs or WellKnownCACertificates may be specified, not both. + If an implementation does not support the WellKnownCACertificates field, or + the supplied value is not recognized, the implementation MUST ensure the + `Accepted` Condition on the BackendTLSPolicy is set to `status: False`, with + a Reason `Invalid`. + + Support: Implementation-specific + enum: + - System + type: string + required: + - hostname + type: object + x-kubernetes-validations: + - message: must not contain both CACertificateRefs and WellKnownCACertificates + rule: '!(has(self.caCertificateRefs) && size(self.caCertificateRefs) + > 0 && has(self.wellKnownCACertificates) && self.wellKnownCACertificates + != "")' + - message: must specify either CACertificateRefs or WellKnownCACertificates + rule: (has(self.caCertificateRefs) && size(self.caCertificateRefs) + > 0 || has(self.wellKnownCACertificates) && self.wellKnownCACertificates + != "") + required: + - targetRefs + - validation + type: object + status: + description: Status defines the current state of BackendTLSPolicy. + properties: + ancestors: + description: |- + Ancestors is a list of ancestor resources (usually Gateways) that are + associated with the policy, and the status of the policy with respect to + each ancestor. When this policy attaches to a parent, the controller that + manages the parent and the ancestors MUST add an entry to this list when + the controller first sees the policy and SHOULD update the entry as + appropriate when the relevant ancestor is modified. + + Note that choosing the relevant ancestor is left to the Policy designers; + an important part of Policy design is designing the right object level at + which to namespace this status. + + Note also that implementations MUST ONLY populate ancestor status for + the Ancestor resources they are responsible for. Implementations MUST + use the ControllerName field to uniquely identify the entries in this list + that they are responsible for. + + Note that to achieve this, the list of PolicyAncestorStatus structs + MUST be treated as a map with a composite key, made up of the AncestorRef + and ControllerName fields combined. + + A maximum of 16 ancestors will be represented in this list. An empty list + means the Policy is not relevant for any ancestors. + + If this slice is full, implementations MUST NOT add further entries. + Instead they MUST consider the policy unimplementable and signal that + on any related resources such as the ancestor that would be referenced + here. For example, if this list was full on BackendTLSPolicy, no + additional Gateways would be able to reference the Service targeted by + the BackendTLSPolicy. + items: + description: |- + PolicyAncestorStatus describes the status of a route with respect to an + associated Ancestor. + + Ancestors refer to objects that are either the Target of a policy or above it + in terms of object hierarchy. For example, if a policy targets a Service, the + Policy's Ancestors are, in order, the Service, the HTTPRoute, the Gateway, and + the GatewayClass. Almost always, in this hierarchy, the Gateway will be the most + useful object to place Policy status on, so we recommend that implementations + SHOULD use Gateway as the PolicyAncestorStatus object unless the designers + have a _very_ good reason otherwise. + + In the context of policy attachment, the Ancestor is used to distinguish which + resource results in a distinct application of this policy. For example, if a policy + targets a Service, it may have a distinct result per attached Gateway. + + Policies targeting the same resource may have different effects depending on the + ancestors of those resources. For example, different Gateways targeting the same + Service may have different capabilities, especially if they have different underlying + implementations. + + For example, in BackendTLSPolicy, the Policy attaches to a Service that is + used as a backend in a HTTPRoute that is itself attached to a Gateway. + In this case, the relevant object for status is the Gateway, and that is the + ancestor object referred to in this status. + + Note that a parent is also an ancestor, so for objects where the parent is the + relevant object for status, this struct SHOULD still be used. + + This struct is intended to be used in a slice that's effectively a map, + with a composite key made up of the AncestorRef and the ControllerName. + properties: + ancestorRef: + description: |- + AncestorRef corresponds with a ParentRef in the spec that this + PolicyAncestorStatus struct describes the status of. + properties: + group: + default: gateway.networking.k8s.io + description: |- + Group is the group of the referent. + When unspecified, "gateway.networking.k8s.io" is inferred. + To set the core API group (such as for a "Service" kind referent), + Group must be explicitly set to "" (empty string). + + Support: Core + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Gateway + description: |- + Kind is kind of the referent. + + There are two kinds of parent resources with "Core" support: + + * Gateway (Gateway conformance profile) + * Service (Mesh conformance profile, ClusterIP Services only) + + Support for other resources is Implementation-Specific. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: |- + Name is the name of the referent. + + Support: Core + maxLength: 253 + minLength: 1 + type: string + namespace: + description: |- + Namespace is the namespace of the referent. When unspecified, this refers + to the local namespace of the Route. + + Note that there are specific rules for ParentRefs which cross namespace + boundaries. Cross-namespace references are only valid if they are explicitly + allowed by something in the namespace they are referring to. For example: + Gateway has the AllowedRoutes field, and ReferenceGrant provides a + generic way to enable any other kind of cross-namespace reference. + + Support: Core + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + description: |- + Port is the network port this Route targets. It can be interpreted + differently based on the type of parent resource. + + When the parent resource is a Gateway, this targets all listeners + listening on the specified port that also support this kind of Route(and + select this Route). It's not recommended to set `Port` unless the + networking behaviors specified in a Route must apply to a specific port + as opposed to a listener(s) whose port(s) may be changed. When both Port + and SectionName are specified, the name and port of the selected listener + must match both specified values. + + Implementations MAY choose to support other parent resources. + Implementations supporting other types of parent resources MUST clearly + document how/if Port is interpreted. + + For the purpose of status, an attachment is considered successful as + long as the parent resource accepts it partially. For example, Gateway + listeners can restrict which Routes can attach to them by Route kind, + namespace, or hostname. If 1 of 2 Gateway listeners accept attachment + from the referencing Route, the Route MUST be considered successfully + attached. If no Gateway listeners accept attachment from this Route, + the Route MUST be considered detached from the Gateway. + + Support: Extended + format: int32 + maximum: 65535 + minimum: 1 + type: integer + sectionName: + description: |- + SectionName is the name of a section within the target resource. In the + following resources, SectionName is interpreted as the following: + + * Gateway: Listener name. When both Port (experimental) and SectionName + are specified, the name and port of the selected listener must match + both specified values. + * Service: Port name. When both Port (experimental) and SectionName + are specified, the name and port of the selected listener must match + both specified values. + + Implementations MAY choose to support attaching Routes to other resources. + If that is the case, they MUST clearly document how SectionName is + interpreted. + + When unspecified (empty string), this will reference the entire resource. + For the purpose of status, an attachment is considered successful if at + least one section in the parent resource accepts it. For example, Gateway + listeners can restrict which Routes can attach to them by Route kind, + namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from + the referencing Route, the Route MUST be considered successfully + attached. If no Gateway listeners accept attachment from this Route, the + Route MUST be considered detached from the Gateway. + + Support: Core + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + type: object + conditions: + description: Conditions describes the status of the Policy with + respect to the given Ancestor. + items: + description: Condition contains details for one aspect of + the current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 8 + minItems: 1 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + controllerName: + description: |- + ControllerName is a domain/path string that indicates the name of the + controller that wrote this status. This corresponds with the + controllerName field on GatewayClass. + + Example: "example.net/gateway-controller". + + The format of this field is DOMAIN "/" PATH, where DOMAIN and PATH are + valid Kubernetes names + (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + + Controllers MUST populate this field when writing status. Controllers should ensure that + entries to status populated with their ControllerName are cleaned up when they are no + longer necessary. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$ + type: string + required: + - ancestorRef + - conditions + - controllerName + type: object + maxItems: 16 + type: array + x-kubernetes-list-type: atomic + required: + - ancestors + type: object + required: + - spec + type: object + served: false + storage: false diff --git a/modules/ingress/traefik/base/crds/gatewayclasses.gateway.networking.k8s.io.yaml b/modules/ingress/traefik/base/crds/gatewayclasses.gateway.networking.k8s.io.yaml index 1133045f..a4cdb5fd 100644 --- a/modules/ingress/traefik/base/crds/gatewayclasses.gateway.networking.k8s.io.yaml +++ b/modules/ingress/traefik/base/crds/gatewayclasses.gateway.networking.k8s.io.yaml @@ -17,9 +17,8 @@ kind: CustomResourceDefinition metadata: annotations: api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/3328 - gateway.networking.k8s.io/bundle-version: v1.3.0 + gateway.networking.k8s.io/bundle-version: v1.4.0 gateway.networking.k8s.io/channel: standard - creationTimestamp: null name: gatewayclasses.gateway.networking.k8s.io spec: group: gateway.networking.k8s.io @@ -251,6 +250,25 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + supportedFeatures: + description: |- + SupportedFeatures is the set of features the GatewayClass support. + It MUST be sorted in ascending alphabetical order by the Name key. + items: + properties: + name: + description: |- + FeatureName is used to describe distinct features that are covered by + conformance tests. + type: string + required: + - name + type: object + maxItems: 64 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map type: object required: - spec @@ -476,6 +494,25 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + supportedFeatures: + description: |- + SupportedFeatures is the set of features the GatewayClass support. + It MUST be sorted in ascending alphabetical order by the Name key. + items: + properties: + name: + description: |- + FeatureName is used to describe distinct features that are covered by + conformance tests. + type: string + required: + - name + type: object + maxItems: 64 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map type: object required: - spec diff --git a/modules/ingress/traefik/base/crds/gateways.gateway.networking.k8s.io.yaml b/modules/ingress/traefik/base/crds/gateways.gateway.networking.k8s.io.yaml index d0e9202d..5364e4e9 100644 --- a/modules/ingress/traefik/base/crds/gateways.gateway.networking.k8s.io.yaml +++ b/modules/ingress/traefik/base/crds/gateways.gateway.networking.k8s.io.yaml @@ -17,9 +17,8 @@ kind: CustomResourceDefinition metadata: annotations: api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/3328 - gateway.networking.k8s.io/bundle-version: v1.3.0 + gateway.networking.k8s.io/bundle-version: v1.4.0 gateway.networking.k8s.io/channel: standard - creationTimestamp: null name: gateways.gateway.networking.k8s.io spec: group: gateway.networking.k8s.io @@ -79,7 +78,7 @@ spec: Addresses requested for this Gateway. This is optional and behavior can depend on the implementation. If a value is set in the spec and the requested address is invalid or unavailable, the implementation MUST - indicate this in the associated entry in GatewayStatus.Addresses. + indicate this in an associated entry in GatewayStatus.Conditions. The Addresses field represents a request for the address(es) on the "outside of the Gateway", that traffic bound for this Gateway will use. @@ -134,19 +133,22 @@ spec: type: string type: object x-kubernetes-validations: - - message: Hostname value must only contain valid characters (matching - ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$) - rule: 'self.type == ''Hostname'' ? self.value.matches(r"""^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"""): + - message: Hostname value must be empty or contain only valid characters + (matching ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$) + rule: 'self.type == ''Hostname'' ? (!has(self.value) || self.value.matches(r"""^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$""")): true' maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: IPAddress values must be unique - rule: 'self.all(a1, a1.type == ''IPAddress'' ? self.exists_one(a2, - a2.type == a1.type && a2.value == a1.value) : true )' + rule: 'self.all(a1, a1.type == ''IPAddress'' && has(a1.value) ? + self.exists_one(a2, a2.type == a1.type && has(a2.value) && a2.value + == a1.value) : true )' - message: Hostname values must be unique - rule: 'self.all(a1, a1.type == ''Hostname'' ? self.exists_one(a2, - a2.type == a1.type && a2.value == a1.value) : true )' + rule: 'self.all(a1, a1.type == ''Hostname'' && has(a1.value) ? + self.exists_one(a2, a2.type == a1.type && has(a2.value) && a2.value + == a1.value) : true )' gatewayClassName: description: |- GatewayClassName used for this Gateway. This is the name of a @@ -502,6 +504,7 @@ spec: type: object maxItems: 8 type: array + x-kubernetes-list-type: atomic namespaces: default: from: Same @@ -669,7 +672,7 @@ spec: the Protocol field is "HTTPS" or "TLS". It is invalid to set this field if the Protocol field is "HTTP", "TCP", or "UDP". - The association of SNIs to Certificate defined in GatewayTLSConfig is + The association of SNIs to Certificate defined in ListenerTLSConfig is defined based on the Hostname field for this listener. The GatewayClass MUST use the longest matching SNI out of all @@ -756,6 +759,7 @@ spec: type: object maxItems: 64 type: array + x-kubernetes-list-type: atomic mode: default: Terminate description: |- @@ -908,6 +912,7 @@ spec: true' maxItems: 16 type: array + x-kubernetes-list-type: atomic conditions: default: - lastTransitionTime: "1970-01-01T00:00:00Z" @@ -1121,6 +1126,7 @@ spec: type: object maxItems: 8 type: array + x-kubernetes-list-type: atomic required: - attachedRoutes - conditions @@ -1185,7 +1191,7 @@ spec: Addresses requested for this Gateway. This is optional and behavior can depend on the implementation. If a value is set in the spec and the requested address is invalid or unavailable, the implementation MUST - indicate this in the associated entry in GatewayStatus.Addresses. + indicate this in an associated entry in GatewayStatus.Conditions. The Addresses field represents a request for the address(es) on the "outside of the Gateway", that traffic bound for this Gateway will use. @@ -1240,19 +1246,22 @@ spec: type: string type: object x-kubernetes-validations: - - message: Hostname value must only contain valid characters (matching - ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$) - rule: 'self.type == ''Hostname'' ? self.value.matches(r"""^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"""): + - message: Hostname value must be empty or contain only valid characters + (matching ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$) + rule: 'self.type == ''Hostname'' ? (!has(self.value) || self.value.matches(r"""^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$""")): true' maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: IPAddress values must be unique - rule: 'self.all(a1, a1.type == ''IPAddress'' ? self.exists_one(a2, - a2.type == a1.type && a2.value == a1.value) : true )' + rule: 'self.all(a1, a1.type == ''IPAddress'' && has(a1.value) ? + self.exists_one(a2, a2.type == a1.type && has(a2.value) && a2.value + == a1.value) : true )' - message: Hostname values must be unique - rule: 'self.all(a1, a1.type == ''Hostname'' ? self.exists_one(a2, - a2.type == a1.type && a2.value == a1.value) : true )' + rule: 'self.all(a1, a1.type == ''Hostname'' && has(a1.value) ? + self.exists_one(a2, a2.type == a1.type && has(a2.value) && a2.value + == a1.value) : true )' gatewayClassName: description: |- GatewayClassName used for this Gateway. This is the name of a @@ -1608,6 +1617,7 @@ spec: type: object maxItems: 8 type: array + x-kubernetes-list-type: atomic namespaces: default: from: Same @@ -1775,7 +1785,7 @@ spec: the Protocol field is "HTTPS" or "TLS". It is invalid to set this field if the Protocol field is "HTTP", "TCP", or "UDP". - The association of SNIs to Certificate defined in GatewayTLSConfig is + The association of SNIs to Certificate defined in ListenerTLSConfig is defined based on the Hostname field for this listener. The GatewayClass MUST use the longest matching SNI out of all @@ -1862,6 +1872,7 @@ spec: type: object maxItems: 64 type: array + x-kubernetes-list-type: atomic mode: default: Terminate description: |- @@ -2014,6 +2025,7 @@ spec: true' maxItems: 16 type: array + x-kubernetes-list-type: atomic conditions: default: - lastTransitionTime: "1970-01-01T00:00:00Z" @@ -2227,6 +2239,7 @@ spec: type: object maxItems: 8 type: array + x-kubernetes-list-type: atomic required: - attachedRoutes - conditions diff --git a/modules/ingress/traefik/base/crds/grpcroutes.gateway.networking.k8s.io.yaml b/modules/ingress/traefik/base/crds/grpcroutes.gateway.networking.k8s.io.yaml index a08a1ab8..7f64e234 100644 --- a/modules/ingress/traefik/base/crds/grpcroutes.gateway.networking.k8s.io.yaml +++ b/modules/ingress/traefik/base/crds/grpcroutes.gateway.networking.k8s.io.yaml @@ -17,9 +17,8 @@ kind: CustomResourceDefinition metadata: annotations: api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/3328 - gateway.networking.k8s.io/bundle-version: v1.3.0 + gateway.networking.k8s.io/bundle-version: v1.4.0 gateway.networking.k8s.io/channel: standard - creationTimestamp: null name: grpcroutes.gateway.networking.k8s.io spec: group: gateway.networking.k8s.io @@ -165,6 +164,7 @@ spec: type: string maxItems: 16 type: array + x-kubernetes-list-type: atomic parentRefs: description: |- ParentRefs references the resources (usually Gateways) that a Route wants @@ -348,6 +348,7 @@ spec: type: object maxItems: 32 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: sectionName must be specified when parentRefs includes 2 or more references to the same parent @@ -951,6 +952,7 @@ spec: rule: '!(!has(self.extensionRef) && self.type == ''ExtensionRef'')' maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: RequestHeaderModifier filter cannot be repeated rule: self.filter(f, f.type == 'RequestHeaderModifier').size() @@ -1047,6 +1049,7 @@ spec: ? has(self.port) : true' maxItems: 16 type: array + x-kubernetes-list-type: atomic filters: description: |- Filters define the filters that are applied to requests that match @@ -1597,6 +1600,7 @@ spec: rule: '!(!has(self.extensionRef) && self.type == ''ExtensionRef'')' maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: RequestHeaderModifier filter cannot be repeated rule: self.filter(f, f.type == 'RequestHeaderModifier').size() @@ -1774,9 +1778,20 @@ spec: type: object maxItems: 64 type: array + x-kubernetes-list-type: atomic + name: + description: |- + Name is the name of the route rule. This name MUST be unique within a Route if it is set. + + Support: Extended + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string type: object maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: While 16 rules and 64 matches per rule are allowed, the total number of matches across all rules in a route must be less @@ -2044,14 +2059,18 @@ spec: - name type: object required: + - conditions - controllerName - parentRef type: object maxItems: 32 type: array + x-kubernetes-list-type: atomic required: - parents type: object + required: + - spec type: object served: true storage: true diff --git a/modules/ingress/traefik/base/crds/httproutes.gateway.networking.k8s.io.yaml b/modules/ingress/traefik/base/crds/httproutes.gateway.networking.k8s.io.yaml index 9356b37e..bffa1c3b 100644 --- a/modules/ingress/traefik/base/crds/httproutes.gateway.networking.k8s.io.yaml +++ b/modules/ingress/traefik/base/crds/httproutes.gateway.networking.k8s.io.yaml @@ -17,9 +17,8 @@ kind: CustomResourceDefinition metadata: annotations: api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/3328 - gateway.networking.k8s.io/bundle-version: v1.3.0 + gateway.networking.k8s.io/bundle-version: v1.4.0 gateway.networking.k8s.io/channel: standard - creationTimestamp: null name: httproutes.gateway.networking.k8s.io spec: group: gateway.networking.k8s.io @@ -145,6 +144,7 @@ spec: type: string maxItems: 16 type: array + x-kubernetes-list-type: atomic parentRefs: description: |- ParentRefs references the resources (usually Gateways) that a Route wants @@ -328,6 +328,7 @@ spec: type: object maxItems: 32 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: sectionName must be specified when parentRefs includes 2 or more references to the same parent @@ -1204,11 +1205,8 @@ spec: rule: '!(!has(self.extensionRef) && self.type == ''ExtensionRef'')' maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - - message: May specify either httpRouteFilterRequestRedirect - or httpRouteFilterRequestRewrite, but not both - rule: '!(self.exists(f, f.type == ''RequestRedirect'') - && self.exists(f, f.type == ''URLRewrite''))' - message: May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both rule: '!(self.exists(f, f.type == ''RequestRedirect'') @@ -1314,6 +1312,7 @@ spec: ? has(self.port) : true' maxItems: 16 type: array + x-kubernetes-list-type: atomic filters: description: |- Filters define the filters that are applied to requests that match @@ -2135,6 +2134,7 @@ spec: rule: '!(!has(self.extensionRef) && self.type == ''ExtensionRef'')' maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both @@ -2446,6 +2446,16 @@ spec: type: object maxItems: 64 type: array + x-kubernetes-list-type: atomic + name: + description: |- + Name is the name of the route rule. This name MUST be unique within a Route if it is set. + + Support: Extended + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string timeouts: description: |- Timeouts defines the timeouts that can be configured for an HTTP request. @@ -2551,6 +2561,7 @@ spec: != ''PathPrefix'') ? false : true) : true' maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: While 16 rules and 64 matches per rule are allowed, the total number of matches across all rules in a route must be less @@ -2812,11 +2823,13 @@ spec: - name type: object required: + - conditions - controllerName - parentRef type: object maxItems: 32 type: array + x-kubernetes-list-type: atomic required: - parents type: object @@ -2940,6 +2953,7 @@ spec: type: string maxItems: 16 type: array + x-kubernetes-list-type: atomic parentRefs: description: |- ParentRefs references the resources (usually Gateways) that a Route wants @@ -3123,6 +3137,7 @@ spec: type: object maxItems: 32 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: sectionName must be specified when parentRefs includes 2 or more references to the same parent @@ -3999,11 +4014,8 @@ spec: rule: '!(!has(self.extensionRef) && self.type == ''ExtensionRef'')' maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - - message: May specify either httpRouteFilterRequestRedirect - or httpRouteFilterRequestRewrite, but not both - rule: '!(self.exists(f, f.type == ''RequestRedirect'') - && self.exists(f, f.type == ''URLRewrite''))' - message: May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both rule: '!(self.exists(f, f.type == ''RequestRedirect'') @@ -4109,6 +4121,7 @@ spec: ? has(self.port) : true' maxItems: 16 type: array + x-kubernetes-list-type: atomic filters: description: |- Filters define the filters that are applied to requests that match @@ -4930,6 +4943,7 @@ spec: rule: '!(!has(self.extensionRef) && self.type == ''ExtensionRef'')' maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both @@ -5241,6 +5255,16 @@ spec: type: object maxItems: 64 type: array + x-kubernetes-list-type: atomic + name: + description: |- + Name is the name of the route rule. This name MUST be unique within a Route if it is set. + + Support: Extended + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string timeouts: description: |- Timeouts defines the timeouts that can be configured for an HTTP request. @@ -5346,6 +5370,7 @@ spec: != ''PathPrefix'') ? false : true) : true' maxItems: 16 type: array + x-kubernetes-list-type: atomic x-kubernetes-validations: - message: While 16 rules and 64 matches per rule are allowed, the total number of matches across all rules in a route must be less @@ -5607,11 +5632,13 @@ spec: - name type: object required: + - conditions - controllerName - parentRef type: object maxItems: 32 type: array + x-kubernetes-list-type: atomic required: - parents type: object diff --git a/modules/ingress/traefik/base/crds/ingressroutes.traefik.io.yaml b/modules/ingress/traefik/base/crds/ingressroutes.traefik.io.yaml index 46cc7897..9149b860 100644 --- a/modules/ingress/traefik/base/crds/ingressroutes.traefik.io.yaml +++ b/modules/ingress/traefik/base/crds/ingressroutes.traefik.io.yaml @@ -43,11 +43,31 @@ spec: description: |- EntryPoints defines the list of entry point names to bind to. Entry points have to be configured in the static configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/ Default: all. items: type: string type: array + parentRefs: + description: |- + ParentRefs defines references to parent IngressRoute resources for multi-layer routing. + When set, this IngressRoute's routers will be children of the referenced parent IngressRoute's routers. + More info: https://doc.traefik.io/traefik/v3.6/routing/routers/#parentrefs + items: + description: IngressRouteRef is a reference to an IngressRoute resource. + properties: + name: + description: Name defines the name of the referenced IngressRoute + resource. + type: string + namespace: + description: Namespace defines the namespace of the referenced + IngressRoute resource. + type: string + required: + - name + type: object + type: array routes: description: Routes defines the list of routes. items: @@ -64,12 +84,12 @@ spec: match: description: |- Match defines the router's rule. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/ type: string middlewares: description: |- Middlewares defines the list of references to Middleware resources. - More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-middleware + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/middleware/ items: description: MiddlewareRef is a reference to a Middleware resource. @@ -89,7 +109,7 @@ spec: observability: description: |- Observability defines the observability configuration for a router. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#observability + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/observability/ properties: accessLogs: description: AccessLogs enables access logs for this router. @@ -112,7 +132,7 @@ spec: priority: description: |- Priority defines the router's priority. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#priority maximum: 9223372036854775000 type: integer services: @@ -227,6 +247,25 @@ spec: PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. type: boolean + passiveHealthCheck: + description: PassiveHealthCheck defines passive health + checks for ExternalName services. + properties: + failureWindow: + anyOf: + - type: integer + - type: string + description: FailureWindow defines the time window + during which the failed attempts must occur for + the server to be marked as unhealthy. It also defines + for how long the server will be considered unhealthy. + x-kubernetes-int-or-string: true + maxFailedAttempts: + description: MaxFailedAttempts is the number of consecutive + failed attempts allowed within the failure window + before marking the server as unhealthy. + type: integer + type: object port: anyOf: - type: integer @@ -263,7 +302,7 @@ spec: sticky: description: |- Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -312,11 +351,13 @@ spec: strategy: description: |- Strategy defines the load balancing strategy between the servers. - Supported values are: wrr (Weighed round-robin) and p2c (Power of two choices). + Supported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time). RoundRobin value is deprecated and supported for backward compatibility. enum: - wrr - p2c + - hrw + - leasttime - RoundRobin type: string weight: @@ -332,7 +373,7 @@ spec: syntax: description: |- Syntax defines the router's rule syntax. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#rulesyntax Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax. type: string required: @@ -342,18 +383,18 @@ spec: tls: description: |- TLS defines the TLS configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/router/#tls properties: certResolver: description: |- CertResolver defines the name of the certificate resolver to use. Cert resolvers have to be configured in the static configuration. - More info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers + More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/ type: string domains: description: |- Domains defines the list of domains that will be used to issue certificates. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#domains items: description: Domain holds a domain name with SANs. properties: @@ -372,17 +413,17 @@ spec: description: |- Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. If not defined, the `default` TLSOption is used. - More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-options/ properties: name: description: |- Name defines the name of the referenced TLSOption. - More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/ type: string namespace: description: |- Namespace defines the namespace of the referenced TLSOption. - More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/ type: string required: - name @@ -399,12 +440,12 @@ spec: name: description: |- Name defines the name of the referenced TLSStore. - More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/ type: string namespace: description: |- Namespace defines the namespace of the referenced TLSStore. - More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/ type: string required: - name diff --git a/modules/ingress/traefik/base/crds/ingressroutetcps.traefik.io.yaml b/modules/ingress/traefik/base/crds/ingressroutetcps.traefik.io.yaml index 450f8279..6bbfae93 100644 --- a/modules/ingress/traefik/base/crds/ingressroutetcps.traefik.io.yaml +++ b/modules/ingress/traefik/base/crds/ingressroutetcps.traefik.io.yaml @@ -43,7 +43,7 @@ spec: description: |- EntryPoints defines the list of entry point names to bind to. Entry points have to be configured in the static configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/ Default: all. items: type: string @@ -56,7 +56,7 @@ spec: match: description: |- Match defines the router's rule. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule_1 + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/ type: string middlewares: description: Middlewares defines the list of references to MiddlewareTCP @@ -80,7 +80,7 @@ spec: priority: description: |- Priority defines the router's priority. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority_1 + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#priority maximum: 9223372036854775000 type: integer services: @@ -122,7 +122,7 @@ spec: proxyProtocol: description: |- ProxyProtocol defines the PROXY protocol configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/services/#proxy-protocol + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/service/#proxy-protocol Deprecated: ProxyProtocol will not be supported in future APIVersions, please use ServersTransport to configure ProxyProtocol instead. properties: version: @@ -164,7 +164,7 @@ spec: syntax: description: |- Syntax defines the router's rule syntax. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax_1 + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#rulesyntax Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax. enum: - v3 @@ -177,18 +177,18 @@ spec: tls: description: |- TLS defines the TLS configuration on a layer 4 / TCP Route. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls_1 + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/router/#tls properties: certResolver: description: |- CertResolver defines the name of the certificate resolver to use. Cert resolvers have to be configured in the static configuration. - More info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers + More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/ type: string domains: description: |- Domains defines the list of domains that will be used to issue certificates. - More info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/tls/#domains items: description: Domain holds a domain name with SANs. properties: @@ -207,7 +207,7 @@ spec: description: |- Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. If not defined, the `default` TLSOption is used. - More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/tls/#tls-options properties: name: description: Name defines the name of the referenced Traefik diff --git a/modules/ingress/traefik/base/crds/ingressrouteudps.traefik.io.yaml b/modules/ingress/traefik/base/crds/ingressrouteudps.traefik.io.yaml index a0c15393..2b7e6688 100644 --- a/modules/ingress/traefik/base/crds/ingressrouteudps.traefik.io.yaml +++ b/modules/ingress/traefik/base/crds/ingressrouteudps.traefik.io.yaml @@ -43,7 +43,7 @@ spec: description: |- EntryPoints defines the list of entry point names to bind to. Entry points have to be configured in the static configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/ Default: all. items: type: string diff --git a/modules/ingress/traefik/base/crds/kustomization.yaml b/modules/ingress/traefik/base/crds/kustomization.yaml index 66ddd162..2395f23c 100644 --- a/modules/ingress/traefik/base/crds/kustomization.yaml +++ b/modules/ingress/traefik/base/crds/kustomization.yaml @@ -1,6 +1,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: +- backendtlspolicies.gateway.networking.k8s.io.yaml - gatewayclasses.gateway.networking.k8s.io.yaml - gateways.gateway.networking.k8s.io.yaml - grpcroutes.gateway.networking.k8s.io.yaml diff --git a/modules/ingress/traefik/base/crds/middlewares.traefik.io.yaml b/modules/ingress/traefik/base/crds/middlewares.traefik.io.yaml index d658c660..68b9f14f 100644 --- a/modules/ingress/traefik/base/crds/middlewares.traefik.io.yaml +++ b/modules/ingress/traefik/base/crds/middlewares.traefik.io.yaml @@ -19,7 +19,7 @@ spec: openAPIV3Schema: description: |- Middleware is the CRD implementation of a Traefik Middleware. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/overview/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/ properties: apiVersion: description: |- @@ -45,7 +45,7 @@ spec: description: |- AddPrefix holds the add prefix middleware configuration. This middleware updates the path of a request before forwarding it. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/addprefix/ + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/addprefix/ properties: prefix: description: |- @@ -60,12 +60,12 @@ spec: description: |- BasicAuth holds the basic auth middleware configuration. This middleware restricts access to your services to known users. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/ properties: headerField: description: |- HeaderField defines a header field to store the authenticated user. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/#headerfield type: string realm: description: |- @@ -86,7 +86,7 @@ spec: description: |- Buffering holds the buffering middleware configuration. This middleware retries or limits the size of requests that can be forwarded to backends. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/buffering/#maxrequestbodybytes + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/buffering/#maxrequestbodybytes properties: maxRequestBodyBytes: description: |- @@ -118,14 +118,14 @@ spec: description: |- RetryExpression defines the retry conditions. It is a logical combination of functions with operators AND (&&) and OR (||). - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/buffering/#retryexpression + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/buffering/#retryexpression type: string type: object chain: description: |- Chain holds the configuration of the chain middleware. This middleware enables to define reusable combinations of other pieces of middleware. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/chain/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/chain/ properties: middlewares: description: Middlewares is the list of MiddlewareRef which composes @@ -188,7 +188,7 @@ spec: description: |- Compress holds the compress middleware configuration. This middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/compress/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/compress/ properties: defaultEncoding: description: DefaultEncoding specifies the default encoding if @@ -238,12 +238,12 @@ spec: description: |- DigestAuth holds the digest auth middleware configuration. This middleware restricts access to your services to known users. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/digestauth/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/ properties: headerField: description: |- HeaderField defines a header field to store the authenticated user. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/#headerfield type: string realm: description: |- @@ -263,7 +263,7 @@ spec: description: |- ErrorPage holds the custom error middleware configuration. This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/ properties: query: description: |- @@ -275,7 +275,7 @@ spec: service: description: |- Service defines the reference to a Kubernetes Service that will serve the error page. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/#service + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/#service properties: healthCheck: description: Healthcheck defines health checks for ExternalName @@ -381,6 +381,25 @@ spec: PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. type: boolean + passiveHealthCheck: + description: PassiveHealthCheck defines passive health checks + for ExternalName services. + properties: + failureWindow: + anyOf: + - type: integer + - type: string + description: FailureWindow defines the time window during + which the failed attempts must occur for the server + to be marked as unhealthy. It also defines for how long + the server will be considered unhealthy. + x-kubernetes-int-or-string: true + maxFailedAttempts: + description: MaxFailedAttempts is the number of consecutive + failed attempts allowed within the failure window before + marking the server as unhealthy. + type: integer + type: object port: anyOf: - type: integer @@ -417,7 +436,7 @@ spec: sticky: description: |- Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -465,11 +484,13 @@ spec: strategy: description: |- Strategy defines the load balancing strategy between the servers. - Supported values are: wrr (Weighed round-robin) and p2c (Power of two choices). + Supported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time). RoundRobin value is deprecated and supported for backward compatibility. enum: - wrr - p2c + - hrw + - leasttime - RoundRobin type: string weight: @@ -504,7 +525,7 @@ spec: description: |- ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/ properties: addAuthCookiesToResponse: description: AddAuthCookiesToResponse defines the list of cookies @@ -532,7 +553,7 @@ spec: authResponseHeadersRegex: description: |- AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#authresponseheadersregex + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#authresponseheadersregex type: string forwardBody: description: ForwardBody defines whether to send the request body @@ -541,7 +562,7 @@ spec: headerField: description: |- HeaderField defines a header field to store the authenticated user. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#headerfield + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#headerfield type: string maxBodySize: description: MaxBodySize defines the maximum body size in bytes @@ -603,7 +624,7 @@ spec: description: |- Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/headers/#customrequestheaders + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/headers/#customrequestheaders properties: accessControlAllowCredentials: description: AccessControlAllowCredentials defines whether the @@ -775,7 +796,7 @@ spec: description: |- InFlightReq holds the in-flight request middleware configuration. This middleware limits the number of requests being processed and served concurrently. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/inflightreq/ + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/inflightreq/ properties: amount: description: |- @@ -789,12 +810,12 @@ spec: SourceCriterion defines what criterion is used to group requests as originating from a common source. If several strategies are defined at the same time, an error will be raised. If none are set, the default is to use the requestHost. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/inflightreq/#sourcecriterion + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/inflightreq/#sourcecriterion properties: ipStrategy: description: |- IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ipallowlist/#ipstrategy + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -830,12 +851,12 @@ spec: description: |- IPAllowList holds the IP allowlist middleware configuration. This middleware limits allowed requests based on the client IP. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ipallowlist/ + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/ properties: ipStrategy: description: |- IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ipallowlist/#ipstrategy + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -873,7 +894,7 @@ spec: ipStrategy: description: |- IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ipallowlist/#ipstrategy + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -904,7 +925,7 @@ spec: description: |- PassTLSClientCert holds the pass TLS client cert middleware configuration. This middleware adds the selected data from the passed client TLS certificate to a header. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/passtlsclientcert/ + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/passtlsclientcert/ properties: info: description: Info selects the specific client certificate details @@ -1007,13 +1028,13 @@ spec: x-kubernetes-preserve-unknown-fields: true description: |- Plugin defines the middleware plugin configuration. - More info: https://doc.traefik.io/traefik/plugins/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/#community-middlewares type: object rateLimit: description: |- RateLimit holds the rate limit configuration. This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ratelimit/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/ratelimit/ properties: average: description: |- @@ -1132,7 +1153,7 @@ spec: ipStrategy: description: |- IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ipallowlist/#ipstrategy + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -1168,7 +1189,7 @@ spec: description: |- RedirectRegex holds the redirect regex middleware configuration. This middleware redirects a request using regex matching and replacement. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/redirectregex/#regex + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/redirectregex/#regex properties: permanent: description: Permanent defines whether the redirection is permanent @@ -1187,7 +1208,7 @@ spec: description: |- RedirectScheme holds the redirect scheme middleware configuration. This middleware redirects requests from a scheme/port to another. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/redirectscheme/ + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/redirectscheme/ properties: permanent: description: Permanent defines whether the redirection is permanent @@ -1204,7 +1225,7 @@ spec: description: |- ReplacePath holds the replace path middleware configuration. This middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/replacepath/ + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/replacepath/ properties: path: description: Path defines the path to use as replacement in the @@ -1215,7 +1236,7 @@ spec: description: |- ReplacePathRegex holds the replace path regex middleware configuration. This middleware replaces the path of a URL using regex matching and replacement. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/replacepathregex/ + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/replacepathregex/ properties: regex: description: Regex defines the regular expression used to match @@ -1231,7 +1252,7 @@ spec: Retry holds the retry middleware configuration. This middleware reissues requests a given number of times to a backend server if that server does not reply. As soon as the server answers, the middleware stops retrying, regardless of the response status. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/retry/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/retry/ properties: attempts: description: Attempts defines how many times the request should @@ -1255,7 +1276,7 @@ spec: description: |- StripPrefix holds the strip prefix middleware configuration. This middleware removes the specified prefixes from the URL path. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/stripprefix/ + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/stripprefix/ properties: forceSlash: description: |- @@ -1274,7 +1295,7 @@ spec: description: |- StripPrefixRegex holds the strip prefix regex middleware configuration. This middleware removes the matching prefixes from the URL path. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/http/stripprefixregex/ + More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/stripprefixregex/ properties: regex: description: Regex defines the regular expression to match the diff --git a/modules/ingress/traefik/base/crds/middlewaretcps.traefik.io.yaml b/modules/ingress/traefik/base/crds/middlewaretcps.traefik.io.yaml index 3add0113..9dbf0475 100644 --- a/modules/ingress/traefik/base/crds/middlewaretcps.traefik.io.yaml +++ b/modules/ingress/traefik/base/crds/middlewaretcps.traefik.io.yaml @@ -19,7 +19,7 @@ spec: openAPIV3Schema: description: |- MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/overview/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/overview/ properties: apiVersion: description: |- @@ -56,7 +56,7 @@ spec: description: |- IPAllowList defines the IPAllowList middleware configuration. This middleware accepts/refuses connections based on the client IP. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipallowlist/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipallowlist/ properties: sourceRange: description: SourceRange defines the allowed IPs (or ranges of @@ -70,7 +70,7 @@ spec: IPWhiteList defines the IPWhiteList middleware configuration. This middleware accepts/refuses connections based on the client IP. Deprecated: please use IPAllowList instead. - More info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipwhitelist/ + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipwhitelist/ properties: sourceRange: description: SourceRange defines the allowed IPs (or ranges of diff --git a/modules/ingress/traefik/base/crds/referencegrants.gateway.networking.k8s.io.yaml b/modules/ingress/traefik/base/crds/referencegrants.gateway.networking.k8s.io.yaml index 6ed1dafa..e7e275da 100644 --- a/modules/ingress/traefik/base/crds/referencegrants.gateway.networking.k8s.io.yaml +++ b/modules/ingress/traefik/base/crds/referencegrants.gateway.networking.k8s.io.yaml @@ -17,9 +17,8 @@ kind: CustomResourceDefinition metadata: annotations: api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/3328 - gateway.networking.k8s.io/bundle-version: v1.3.0 + gateway.networking.k8s.io/bundle-version: v1.4.0 gateway.networking.k8s.io/channel: standard - creationTimestamp: null name: referencegrants.gateway.networking.k8s.io spec: group: gateway.networking.k8s.io @@ -138,6 +137,7 @@ spec: maxItems: 16 minItems: 1 type: array + x-kubernetes-list-type: atomic to: description: |- To describes the resources that may be referenced by the resources @@ -187,6 +187,7 @@ spec: maxItems: 16 minItems: 1 type: array + x-kubernetes-list-type: atomic required: - from - to diff --git a/modules/ingress/traefik/base/crds/serverstransports.traefik.io.yaml b/modules/ingress/traefik/base/crds/serverstransports.traefik.io.yaml index f8d29a96..3e22e010 100644 --- a/modules/ingress/traefik/base/crds/serverstransports.traefik.io.yaml +++ b/modules/ingress/traefik/base/crds/serverstransports.traefik.io.yaml @@ -21,7 +21,7 @@ spec: ServersTransport is the CRD implementation of a ServersTransport. If no serversTransport is specified, the default@internal will be used. The default@internal serversTransport is created from the static configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_1 + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/serverstransport/ properties: apiVersion: description: |- diff --git a/modules/ingress/traefik/base/crds/serverstransporttcps.traefik.io.yaml b/modules/ingress/traefik/base/crds/serverstransporttcps.traefik.io.yaml index 308a6ffb..23c39eba 100644 --- a/modules/ingress/traefik/base/crds/serverstransporttcps.traefik.io.yaml +++ b/modules/ingress/traefik/base/crds/serverstransporttcps.traefik.io.yaml @@ -21,7 +21,7 @@ spec: ServersTransportTCP is the CRD implementation of a TCPServersTransport. If no tcpServersTransport is specified, a default one named default@internal will be used. The default@internal tcpServersTransport can be configured in the static configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_3 + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/serverstransport/ properties: apiVersion: description: |- diff --git a/modules/ingress/traefik/base/crds/tlsoptions.traefik.io.yaml b/modules/ingress/traefik/base/crds/tlsoptions.traefik.io.yaml index 534885b0..50df9002 100644 --- a/modules/ingress/traefik/base/crds/tlsoptions.traefik.io.yaml +++ b/modules/ingress/traefik/base/crds/tlsoptions.traefik.io.yaml @@ -19,7 +19,7 @@ spec: openAPIV3Schema: description: |- TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection. - More info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#tls-options properties: apiVersion: description: |- @@ -44,14 +44,14 @@ spec: alpnProtocols: description: |- ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference. - More info: https://doc.traefik.io/traefik/v3.5/https/tls/#alpn-protocols + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#alpn-protocols items: type: string type: array cipherSuites: description: |- CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. - More info: https://doc.traefik.io/traefik/v3.5/https/tls/#cipher-suites + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#cipher-suites items: type: string type: array @@ -79,7 +79,7 @@ spec: curvePreferences: description: |- CurvePreferences defines the preferred elliptic curves. - More info: https://doc.traefik.io/traefik/v3.5/https/tls/#curve-preferences + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#curve-preferences items: type: string type: array diff --git a/modules/ingress/traefik/base/crds/tlsstores.traefik.io.yaml b/modules/ingress/traefik/base/crds/tlsstores.traefik.io.yaml index 1b2fb58a..180f406d 100644 --- a/modules/ingress/traefik/base/crds/tlsstores.traefik.io.yaml +++ b/modules/ingress/traefik/base/crds/tlsstores.traefik.io.yaml @@ -21,7 +21,7 @@ spec: TLSStore is the CRD implementation of a Traefik TLS Store. For the time being, only the TLSStore named default is supported. This means that you cannot have two stores that are named default in different Kubernetes namespaces. - More info: https://doc.traefik.io/traefik/v3.5/https/tls/#certificates-stores + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores properties: apiVersion: description: |- diff --git a/modules/ingress/traefik/base/crds/traefikservices.traefik.io.yaml b/modules/ingress/traefik/base/crds/traefikservices.traefik.io.yaml index 1e6fec09..965fb626 100644 --- a/modules/ingress/traefik/base/crds/traefikservices.traefik.io.yaml +++ b/modules/ingress/traefik/base/crds/traefikservices.traefik.io.yaml @@ -22,7 +22,7 @@ spec: TraefikService object allows to: - Apply weight to Services on load-balancing - Mirror traffic on services - More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-traefikservice + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/traefikservice/ properties: apiVersion: description: |- @@ -44,6 +44,244 @@ spec: spec: description: TraefikServiceSpec defines the desired state of a TraefikService. properties: + highestRandomWeight: + description: HighestRandomWeight defines the highest random weight + service configuration. + properties: + services: + description: Services defines the list of Kubernetes Service and/or + TraefikService to load-balance, with weight. + items: + description: Service defines an upstream HTTP service to proxy + traffic to. + properties: + healthCheck: + description: Healthcheck defines health checks for ExternalName + services. + properties: + followRedirects: + description: |- + FollowRedirects defines whether redirects should be followed during the health check calls. + Default: true + type: boolean + headers: + additionalProperties: + type: string + description: Headers defines custom headers to be sent + to the health check endpoint. + type: object + hostname: + description: Hostname defines the value of hostname + in the Host header of the health check request. + type: string + interval: + anyOf: + - type: integer + - type: string + description: |- + Interval defines the frequency of the health check calls for healthy targets. + Default: 30s + x-kubernetes-int-or-string: true + method: + description: Method defines the healthcheck method. + type: string + mode: + description: |- + Mode defines the health check mode. + If defined to grpc, will use the gRPC health check protocol to probe the server. + Default: http + type: string + path: + description: Path defines the server URL path for the + health check endpoint. + type: string + port: + description: Port defines the server URL port for the + health check endpoint. + type: integer + scheme: + description: Scheme replaces the server URL scheme for + the health check endpoint. + type: string + status: + description: Status defines the expected HTTP status + code of the response to the health check request. + type: integer + timeout: + anyOf: + - type: integer + - type: string + description: |- + Timeout defines the maximum duration Traefik will wait for a health check request before considering the server unhealthy. + Default: 5s + x-kubernetes-int-or-string: true + unhealthyInterval: + anyOf: + - type: integer + - type: string + description: |- + UnhealthyInterval defines the frequency of the health check calls for unhealthy targets. + When UnhealthyInterval is not defined, it defaults to the Interval value. + Default: 30s + x-kubernetes-int-or-string: true + type: object + kind: + description: Kind defines the kind of the Service. + enum: + - Service + - TraefikService + type: string + name: + description: |- + Name defines the name of the referenced Kubernetes Service or TraefikService. + The differentiation between the two is specified in the Kind field. + type: string + namespace: + description: Namespace defines the namespace of the referenced + Kubernetes Service or TraefikService. + type: string + nativeLB: + description: |- + NativeLB controls, when creating the load-balancer, + whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + The Kubernetes Service itself does load-balance to the pods. + By default, NativeLB is false. + type: boolean + nodePortLB: + description: |- + NodePortLB controls, when creating the load-balancer, + whether the LB's children are directly the nodes internal IPs using the nodePort when the service type is NodePort. + It allows services to be reachable when Traefik runs externally from the Kubernetes cluster but within the same network of the nodes. + By default, NodePortLB is false. + type: boolean + passHostHeader: + description: |- + PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. + By default, passHostHeader is true. + type: boolean + passiveHealthCheck: + description: PassiveHealthCheck defines passive health checks + for ExternalName services. + properties: + failureWindow: + anyOf: + - type: integer + - type: string + description: FailureWindow defines the time window during + which the failed attempts must occur for the server + to be marked as unhealthy. It also defines for how + long the server will be considered unhealthy. + x-kubernetes-int-or-string: true + maxFailedAttempts: + description: MaxFailedAttempts is the number of consecutive + failed attempts allowed within the failure window + before marking the server as unhealthy. + type: integer + type: object + port: + anyOf: + - type: integer + - type: string + description: |- + Port defines the port of a Kubernetes Service. + This can be a reference to a named port. + x-kubernetes-int-or-string: true + responseForwarding: + description: ResponseForwarding defines how Traefik forwards + the response from the upstream Kubernetes Service to the + client. + properties: + flushInterval: + description: |- + FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. + A negative value means to flush immediately after each write to the client. + This configuration is ignored when ReverseProxy recognizes a response as a streaming response; + for such responses, writes are flushed to the client immediately. + Default: 100ms + type: string + type: object + scheme: + description: |- + Scheme defines the scheme to use for the request to the upstream Kubernetes Service. + It defaults to https when Kubernetes Service port is 443, http otherwise. + type: string + serversTransport: + description: |- + ServersTransport defines the name of ServersTransport resource to use. + It allows to configure the transport between Traefik and your servers. + Can only be used on a Kubernetes Service. + type: string + sticky: + description: |- + Sticky defines the sticky sessions configuration. + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions + properties: + cookie: + description: Cookie defines the sticky cookie configuration. + properties: + domain: + description: |- + Domain defines the host to which the cookie will be sent. + More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#domaindomain-value + type: string + httpOnly: + description: HTTPOnly defines whether the cookie + can be accessed by client-side APIs, such as JavaScript. + type: boolean + maxAge: + description: |- + MaxAge defines the number of seconds until the cookie expires. + When set to a negative number, the cookie expires immediately. + When set to zero, the cookie never expires. + type: integer + name: + description: Name defines the Cookie name. + type: string + path: + description: |- + Path defines the path that must exist in the requested URL for the browser to send the Cookie header. + When not provided the cookie will be sent on every request to the domain. + More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#pathpath-value + type: string + sameSite: + description: |- + SameSite defines the same site policy. + More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite + enum: + - none + - lax + - strict + type: string + secure: + description: Secure defines whether the cookie can + only be transmitted over an encrypted connection + (i.e. HTTPS). + type: boolean + type: object + type: object + strategy: + description: |- + Strategy defines the load balancing strategy between the servers. + Supported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time). + RoundRobin value is deprecated and supported for backward compatibility. + enum: + - wrr + - p2c + - hrw + - leasttime + - RoundRobin + type: string + weight: + description: |- + Weight defines the weight and should only be specified when Name references a TraefikService object + (and to be precise, one that embeds a Weighted Round Robin). + minimum: 0 + type: integer + required: + - name + type: object + type: array + type: object mirroring: description: Mirroring defines the Mirroring service configuration. properties: @@ -245,6 +483,25 @@ spec: PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. type: boolean + passiveHealthCheck: + description: PassiveHealthCheck defines passive health checks + for ExternalName services. + properties: + failureWindow: + anyOf: + - type: integer + - type: string + description: FailureWindow defines the time window during + which the failed attempts must occur for the server + to be marked as unhealthy. It also defines for how + long the server will be considered unhealthy. + x-kubernetes-int-or-string: true + maxFailedAttempts: + description: MaxFailedAttempts is the number of consecutive + failed attempts allowed within the failure window + before marking the server as unhealthy. + type: integer + type: object percent: description: |- Percent defines the part of the traffic to mirror. @@ -286,7 +543,7 @@ spec: sticky: description: |- Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -334,11 +591,13 @@ spec: strategy: description: |- Strategy defines the load balancing strategy between the servers. - Supported values are: wrr (Weighed round-robin) and p2c (Power of two choices). + Supported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time). RoundRobin value is deprecated and supported for backward compatibility. enum: - wrr - p2c + - hrw + - leasttime - RoundRobin type: string weight: @@ -379,6 +638,25 @@ spec: PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. type: boolean + passiveHealthCheck: + description: PassiveHealthCheck defines passive health checks + for ExternalName services. + properties: + failureWindow: + anyOf: + - type: integer + - type: string + description: FailureWindow defines the time window during + which the failed attempts must occur for the server to be + marked as unhealthy. It also defines for how long the server + will be considered unhealthy. + x-kubernetes-int-or-string: true + maxFailedAttempts: + description: MaxFailedAttempts is the number of consecutive + failed attempts allowed within the failure window before + marking the server as unhealthy. + type: integer + type: object port: anyOf: - type: integer @@ -414,7 +692,7 @@ spec: sticky: description: |- Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -461,11 +739,13 @@ spec: strategy: description: |- Strategy defines the load balancing strategy between the servers. - Supported values are: wrr (Weighed round-robin) and p2c (Power of two choices). + Supported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time). RoundRobin value is deprecated and supported for backward compatibility. enum: - wrr - p2c + - hrw + - leasttime - RoundRobin type: string weight: @@ -591,6 +871,25 @@ spec: PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. type: boolean + passiveHealthCheck: + description: PassiveHealthCheck defines passive health checks + for ExternalName services. + properties: + failureWindow: + anyOf: + - type: integer + - type: string + description: FailureWindow defines the time window during + which the failed attempts must occur for the server + to be marked as unhealthy. It also defines for how + long the server will be considered unhealthy. + x-kubernetes-int-or-string: true + maxFailedAttempts: + description: MaxFailedAttempts is the number of consecutive + failed attempts allowed within the failure window + before marking the server as unhealthy. + type: integer + type: object port: anyOf: - type: integer @@ -627,7 +926,7 @@ spec: sticky: description: |- Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -675,11 +974,13 @@ spec: strategy: description: |- Strategy defines the load balancing strategy between the servers. - Supported values are: wrr (Weighed round-robin) and p2c (Power of two choices). + Supported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time). RoundRobin value is deprecated and supported for backward compatibility. enum: - wrr - p2c + - hrw + - leasttime - RoundRobin type: string weight: @@ -695,7 +996,7 @@ spec: sticky: description: |- Sticky defines whether sticky sessions are enabled. - More info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#stickiness-and-load-balancing + More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/traefikservice/#stickiness-and-load-balancing properties: cookie: description: Cookie defines the sticky cookie configuration. diff --git a/modules/ingress/traefik/base/resources/kustomization.yaml b/modules/ingress/traefik/base/resources/kustomization.yaml index ab7176f5..d6e2fd73 100644 --- a/modules/ingress/traefik/base/resources/kustomization.yaml +++ b/modules/ingress/traefik/base/resources/kustomization.yaml @@ -9,8 +9,8 @@ labels: app.kubernetes.io/component: ingress-controller images: - name: docker.io/library/traefik - newTag: v3.5.6 - digest: sha256:16acb89c6db341182970d6fdafece31303b0a380a8ed7aa51682e225229bf1d2 + newTag: v3.6.6 + digest: sha256:82d3d16dde0474a51fef00b28de143d48b67f7a27453224d5e7b5aaefff26a97 resources: - configs - rbac diff --git a/modules/ingress/traefik/base/resources/swagger.json b/modules/ingress/traefik/base/resources/swagger.json index 4895069f..0e729952 100644 --- a/modules/ingress/traefik/base/resources/swagger.json +++ b/modules/ingress/traefik/base/resources/swagger.json @@ -150,11 +150,7 @@ "description": "ObjectSelector decides whether to run the webhook based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything." }, "reinvocationPolicy": { - "description": "reinvocationPolicy indicates whether this webhook should be called multiple times as part of a single admission evaluation. Allowed values are \"Never\" and \"IfNeeded\".\n\nNever: the webhook will not be called more than once in a single admission evaluation.\n\nIfNeeded: the webhook will be called at least one additional time as part of the admission evaluation if the object being admitted is modified by other admission plugins after the initial webhook call. Webhooks that specify this option *must* be idempotent, able to process objects they previously admitted. Note: * the number of additional invocations is not guaranteed to be exactly one. * if additional invocations result in further modifications to the object, webhooks are not guaranteed to be invoked again. * webhooks that use this option may be reordered to minimize the number of additional invocations. * to validate an object after all mutations are guaranteed complete, use a validating admission webhook instead.\n\nDefaults to \"Never\".\n\nPossible enum values:\n - `\"IfNeeded\"` indicates that the mutation may be called at least one additional time as part of the admission evaluation if the object being admitted is modified by other admission plugins after the initial mutation call.\n - `\"Never\"` indicates that the mutation must not be called more than once in a single admission evaluation.", - "enum": [ - "IfNeeded", - "Never" - ], + "description": "reinvocationPolicy indicates whether this webhook should be called multiple times as part of a single admission evaluation. Allowed values are \"Never\" and \"IfNeeded\".\n\nNever: the webhook will not be called more than once in a single admission evaluation.\n\nIfNeeded: the webhook will be called at least one additional time as part of the admission evaluation if the object being admitted is modified by other admission plugins after the initial webhook call. Webhooks that specify this option *must* be idempotent, able to process objects they previously admitted. Note: * the number of additional invocations is not guaranteed to be exactly one. * if additional invocations result in further modifications to the object, webhooks are not guaranteed to be invoked again. * webhooks that use this option may be reordered to minimize the number of additional invocations. * to validate an object after all mutations are guaranteed complete, use a validating admission webhook instead.\n\nDefaults to \"Never\".", "type": "string" }, "rules": { @@ -1623,7 +1619,7 @@ "properties": { "maxSurge": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString", - "description": "The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption." + "description": "The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediately created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption." }, "maxUnavailable": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString", @@ -2301,7 +2297,7 @@ "properties": { "fieldSelector": { "$ref": "#/definitions/io.k8s.api.authorization.v1.FieldSelectorAttributes", - "description": "fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it.\n\nThis field is alpha-level. To use this field, you must enable the `AuthorizeWithSelectors` feature gate (disabled by default)." + "description": "fieldSelector describes the limitation on access based on field. It can only limit access, not broaden it." }, "group": { "description": "Group is the API Group of the Resource. \"*\" means all.", @@ -2309,7 +2305,7 @@ }, "labelSelector": { "$ref": "#/definitions/io.k8s.api.authorization.v1.LabelSelectorAttributes", - "description": "labelSelector describes the limitation on access based on labels. It can only limit access, not broaden it.\n\nThis field is alpha-level. To use this field, you must enable the `AuthorizeWithSelectors` feature gate (disabled by default)." + "description": "labelSelector describes the limitation on access based on labels. It can only limit access, not broaden it." }, "name": { "description": "Name is the name of the resource being requested for a \"get\" or deleted for a \"delete\". \"\" (empty) means all.", @@ -3677,7 +3673,7 @@ "type": "integer" }, "backoffLimit": { - "description": "Specifies the number of retries before marking this job failed. Defaults to 6", + "description": "Specifies the number of retries before marking this job failed. Defaults to 6, unless backoffLimitPerIndex (only Indexed Job) is specified. When backoffLimitPerIndex is specified, backoffLimit defaults to 2147483647.", "format": "int32", "type": "integer" }, @@ -3722,7 +3718,7 @@ "description": "Specifies the policy of handling failed pods. In particular, it allows to specify the set of actions and conditions which need to be satisfied to take the associated action. If empty, the default behaviour applies - the counter of failed pods, represented by the jobs's .status.failed field, is incremented and it is checked against the backoffLimit. This field cannot be used in combination with restartPolicy=OnFailure." }, "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 are allowed values when podFailurePolicy is not in use. This is an beta field. To use this, enable the JobPodReplacementPolicy feature toggle. This is on by default.\n\nPossible enum values:\n - `\"Failed\"` means to wait until a previously created Pod is fully terminated (has phase Failed or Succeeded) before creating a replacement Pod.\n - `\"TerminatingOrFailed\"` means that we recreate pods when they are terminating (has a metadata.deletionTimestamp) or failed.", + "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 are allowed values when podFailurePolicy is not in use.\n\nPossible enum values:\n - `\"Failed\"` means to wait until a previously created Pod is fully terminated (has phase Failed or Succeeded) before creating a replacement Pod.\n - `\"TerminatingOrFailed\"` means that we recreate pods when they are terminating (has a metadata.deletionTimestamp) or failed.", "enum": [ "Failed", "TerminatingOrFailed" @@ -3932,7 +3928,7 @@ "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 \u003e= .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 allowed.", + "description": "rules represents the list of alternative rules for the declaring the Jobs as successful before `.status.succeeded \u003e= .spec.completions`. Once any of the rules are met, the \"SuccessCriteriaMet\" 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 allowed.", "items": { "$ref": "#/definitions/io.k8s.api.batch.v1.SuccessPolicyRule" }, @@ -5106,7 +5102,7 @@ "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.", + "description": "List of sources to populate environment variables in the container. The keys defined within a source may consist of any printable ASCII characters except '='. 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": { "$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource" }, @@ -5169,9 +5165,17 @@ "description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" }, "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 continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.", + "description": "RestartPolicy defines the restart behavior of individual containers in a pod. This overrides the pod-level restart policy. When this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Additionally, setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.", "type": "string" }, + "restartPolicyRules": { + "description": "Represents a list of rules to be checked to determine if the container should be restarted on exit. The rules are evaluated in order. Once a rule matches a container exit condition, the remaining rules are ignored. If no rule matches the container exit condition, the Container-level restart policy determines the whether the container is restarted or not. Constraints on the rules: - At most 20 rules are allowed. - Rules can have the same action. - Identical rules are not forbidden in validations. When rules are specified, container MUST set RestartPolicy explicitly even it if matches the Pod's RestartPolicy.", + "items": { + "$ref": "#/definitions/io.k8s.api.core.v1.ContainerRestartRule" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, "securityContext": { "$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext", "description": "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/" @@ -5240,6 +5244,29 @@ ], "type": "object" }, + "io.k8s.api.core.v1.ContainerExtendedResourceRequest": { + "description": "ContainerExtendedResourceRequest has the mapping of container name, extended resource name to the device request name.", + "properties": { + "containerName": { + "description": "The name of the container requesting resources.", + "type": "string" + }, + "requestName": { + "description": "The name of the request in the special ResourceClaim which corresponds to the extended resource.", + "type": "string" + }, + "resourceName": { + "description": "The name of the extended resource in that container which gets backed by DRA.", + "type": "string" + } + }, + "required": [ + "containerName", + "resourceName", + "requestName" + ], + "type": "object" + }, "io.k8s.api.core.v1.ContainerImage": { "description": "Describe a container image", "properties": { @@ -5313,6 +5340,45 @@ ], "type": "object" }, + "io.k8s.api.core.v1.ContainerRestartRule": { + "description": "ContainerRestartRule describes how a container exit is handled.", + "properties": { + "action": { + "description": "Specifies the action taken on a container exit if the requirements are satisfied. The only possible value is \"Restart\" to restart the container.", + "type": "string" + }, + "exitCodes": { + "$ref": "#/definitions/io.k8s.api.core.v1.ContainerRestartRuleOnExitCodes", + "description": "Represents the exit codes to check on container exits." + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "io.k8s.api.core.v1.ContainerRestartRuleOnExitCodes": { + "description": "ContainerRestartRuleOnExitCodes describes the condition for handling an exited container based on its exit codes.", + "properties": { + "operator": { + "description": "Represents the relationship between the container exit code(s) and the specified values. Possible values are: - In: the requirement is satisfied if the container exit code is in the\n set of specified values.\n- NotIn: the requirement is satisfied if the container exit code is\n not in the set of specified values.", + "type": "string" + }, + "values": { + "description": "Specifies the set of values to check for container exit codes. At most 255 elements are allowed.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "operator" + ], + "type": "object" + }, "io.k8s.api.core.v1.ContainerState": { "description": "ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting.", "properties": { @@ -5817,7 +5883,7 @@ "description": "The ConfigMap to select from" }, "prefix": { - "description": "Optional text to prepend to the name of each environment variable. Must be a C_IDENTIFIER.", + "description": "Optional text to prepend to the name of each environment variable. May consist of any printable ASCII characters except '='.", "type": "string" }, "secretRef": { @@ -5831,7 +5897,7 @@ "description": "EnvVar represents an environment variable present in a Container.", "properties": { "name": { - "description": "Name of the environment variable. Must be a C_IDENTIFIER.", + "description": "Name of the environment variable. May consist of any printable ASCII characters except '='.", "type": "string" }, "value": { @@ -5859,6 +5925,10 @@ "$ref": "#/definitions/io.k8s.api.core.v1.ObjectFieldSelector", "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['\u003cKEY\u003e']`, `metadata.annotations['\u003cKEY\u003e']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." }, + "fileKeyRef": { + "$ref": "#/definitions/io.k8s.api.core.v1.FileKeySelector", + "description": "FileKeyRef selects a key of the env file. Requires the EnvFiles feature gate to be enabled." + }, "resourceFieldRef": { "$ref": "#/definitions/io.k8s.api.core.v1.ResourceFieldSelector", "description": "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." @@ -5903,7 +5973,7 @@ "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.", + "description": "List of sources to populate environment variables in the container. The keys defined within a source may consist of any printable ASCII characters except '='. 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": { "$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource" }, @@ -5966,9 +6036,17 @@ "description": "Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod." }, "restartPolicy": { - "description": "Restart policy for the container to manage the restart behavior of each container within a pod. This may only be set for init containers. You cannot set this field on ephemeral containers.", + "description": "Restart policy for the container to manage the restart behavior of each container within a pod. You cannot set this field on ephemeral containers.", "type": "string" }, + "restartPolicyRules": { + "description": "Represents a list of rules to be checked to determine if the container should be restarted on exit. You cannot set this field on ephemeral containers.", + "items": { + "$ref": "#/definitions/io.k8s.api.core.v1.ContainerRestartRule" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, "securityContext": { "$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext", "description": "Optional: SecurityContext defines the security options the ephemeral container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext." @@ -6250,6 +6328,34 @@ }, "type": "object" }, + "io.k8s.api.core.v1.FileKeySelector": { + "description": "FileKeySelector selects a key of the env file.", + "properties": { + "key": { + "description": "The key within the env file. An invalid key will prevent the pod from starting. The keys defined within a source may consist of any printable ASCII characters except '='. During Alpha stage of the EnvFiles feature gate, the key size is limited to 128 characters.", + "type": "string" + }, + "optional": { + "description": "Specify whether the file or its key must be defined. If the file or key does not exist, then the env var is not published. If optional is set to true and the specified key does not exist, the environment variable will not be set in the Pod's containers.\n\nIf optional is set to false and the specified key does not exist, an error will be returned during Pod creation.", + "type": "boolean" + }, + "path": { + "description": "The path within the volume from which to select the file. Must be relative and may not contain the '..' path or start with '..'.", + "type": "string" + }, + "volumeName": { + "description": "The name of the volume mount containing the env file.", + "type": "string" + } + }, + "required": [ + "volumeName", + "path", + "key" + ], + "type": "object", + "x-kubernetes-map-type": "atomic" + }, "io.k8s.api.core.v1.FlexPersistentVolumeSource": { "description": "FlexPersistentVolumeSource represents a generic persistent volume resource that is provisioned/attached using an exec based plugin.", "properties": { @@ -6423,7 +6529,7 @@ "description": "Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.", "properties": { "endpoints": { - "description": "endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod", + "description": "endpoints is the endpoint name that details Glusterfs topology.", "type": "string" }, "path": { @@ -7973,7 +8079,7 @@ "type": "string" }, "volumeAttributesClassName": { - "description": "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).", + "description": "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string or nil value indicates that no VolumeAttributesClass will be applied to the claim. If the claim enters an Infeasible error state, this field can be reset to its previous value (including nil) to cancel the modification. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/", "type": "string" }, "volumeMode": { @@ -8051,12 +8157,12 @@ "x-kubernetes-patch-strategy": "merge" }, "currentVolumeAttributesClassName": { - "description": "currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is a beta field and requires enabling VolumeAttributesClass feature (off by default).", + "description": "currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim", "type": "string" }, "modifyVolumeStatus": { "$ref": "#/definitions/io.k8s.api.core.v1.ModifyVolumeStatus", - "description": "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is a beta field and requires enabling VolumeAttributesClass feature (off by default)." + "description": "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted." }, "phase": { "description": "phase represents the current phase of PersistentVolumeClaim.\n\nPossible enum values:\n - `\"Bound\"` used for PersistentVolumeClaims that are bound\n - `\"Lost\"` used for PersistentVolumeClaims that lost their underlying PersistentVolume. The claim was bound to a PersistentVolume and this volume does not exist any longer and all data on it was lost.\n - `\"Pending\"` used for PersistentVolumeClaims that are not yet bound", @@ -8278,7 +8384,7 @@ "description": "storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported. More info: https://examples.k8s.io/volumes/storageos/README.md" }, "volumeAttributesClassName": { - "description": "Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).", + "description": "Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process.", "type": "string" }, "volumeMode": { @@ -8446,7 +8552,7 @@ "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 through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.", + "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 through the elements of this field and subtracting \"weight\" from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.", "items": { "$ref": "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm" }, @@ -8464,6 +8570,41 @@ }, "type": "object" }, + "io.k8s.api.core.v1.PodCertificateProjection": { + "description": "PodCertificateProjection provides a private key and X.509 certificate in the pod filesystem.", + "properties": { + "certificateChainPath": { + "description": "Write the certificate chain at this path in the projected volume.\n\nMost applications should use credentialBundlePath. When using keyPath and certificateChainPath, your application needs to check that the key and leaf certificate are consistent, because it is possible to read the files mid-rotation.", + "type": "string" + }, + "credentialBundlePath": { + "description": "Write the credential bundle at this path in the projected volume.\n\nThe credential bundle is a single file that contains multiple PEM blocks. The first PEM block is a PRIVATE KEY block, containing a PKCS#8 private key.\n\nThe remaining blocks are CERTIFICATE blocks, containing the issued certificate chain from the signer (leaf and any intermediates).\n\nUsing credentialBundlePath lets your Pod's application code make a single atomic read that retrieves a consistent key and certificate chain. If you project them to separate files, your application code will need to additionally check that the leaf certificate was issued to the key.", + "type": "string" + }, + "keyPath": { + "description": "Write the key at this path in the projected volume.\n\nMost applications should use credentialBundlePath. When using keyPath and certificateChainPath, your application needs to check that the key and leaf certificate are consistent, because it is possible to read the files mid-rotation.", + "type": "string" + }, + "keyType": { + "description": "The type of keypair Kubelet will generate for the pod.\n\nValid values are \"RSA3072\", \"RSA4096\", \"ECDSAP256\", \"ECDSAP384\", \"ECDSAP521\", and \"ED25519\".", + "type": "string" + }, + "maxExpirationSeconds": { + "description": "maxExpirationSeconds is the maximum lifetime permitted for the certificate.\n\nKubelet copies this value verbatim into the PodCertificateRequests it generates for this projection.\n\nIf omitted, kube-apiserver will set it to 86400(24 hours). kube-apiserver will reject values shorter than 3600 (1 hour). The maximum allowable value is 7862400 (91 days).\n\nThe signer implementation is then free to issue a certificate with any lifetime *shorter* than MaxExpirationSeconds, but no shorter than 3600 seconds (1 hour). This constraint is enforced by kube-apiserver. `kubernetes.io` signers will never issue certificates with a lifetime longer than 24 hours.", + "format": "int32", + "type": "integer" + }, + "signerName": { + "description": "Kubelet's generated CSRs will be addressed to this signer.", + "type": "string" + } + }, + "required": [ + "signerName", + "keyType" + ], + "type": "object" + }, "io.k8s.api.core.v1.PodCondition": { "description": "PodCondition contains details for the current condition of this pod.", "properties": { @@ -8547,6 +8688,28 @@ }, "type": "object" }, + "io.k8s.api.core.v1.PodExtendedResourceClaimStatus": { + "description": "PodExtendedResourceClaimStatus is stored in the PodStatus for the extended resource requests backed by DRA. It stores the generated name for the corresponding special ResourceClaim created by the scheduler.", + "properties": { + "requestMappings": { + "description": "RequestMappings identifies the mapping of \u003ccontainer, extended resource backed by DRA\u003e to device request in the generated ResourceClaim.", + "items": { + "$ref": "#/definitions/io.k8s.api.core.v1.ContainerExtendedResourceRequest" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "resourceClaimName": { + "description": "ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod.", + "type": "string" + } + }, + "required": [ + "requestMappings", + "resourceClaimName" + ], + "type": "object" + }, "io.k8s.api.core.v1.PodIP": { "description": "PodIP represents a single IP address allocated to the pod.", "properties": { @@ -8828,7 +8991,7 @@ "type": "boolean" }, "hostNetwork": { - "description": "Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.", + "description": "Host networking requested for this pod. Use the host's network namespace. When using HostNetwork you should specify ports so the scheduler is aware. When `hostNetwork` is true, specified `hostPort` fields in port definitions must match `containerPort`, and unspecified `hostPort` fields in port definitions are defaulted to match `containerPort`. Default to false.", "type": "boolean" }, "hostPID": { @@ -8843,6 +9006,10 @@ "description": "Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value.", "type": "string" }, + "hostnameOverride": { + "description": "HostnameOverride specifies an explicit override for the pod's hostname as perceived by the pod. This field only specifies the pod's hostname and does not affect its DNS records. When this field is set to a non-empty string: - It takes precedence over the values set in `hostname` and `subdomain`. - The Pod's hostname will be set to this value. - `setHostnameAsFQDN` must be nil or set to false. - `hostNetwork` must be set to false.\n\nThis field must be a valid DNS subdomain as defined in RFC 1123 and contain at most 64 characters. Requires the HostnameOverride feature gate to be enabled.", + "type": "string" + }, "imagePullSecrets": { "description": "ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod", "items": { @@ -8883,7 +9050,7 @@ }, "os": { "$ref": "#/definitions/io.k8s.api.core.v1.PodOS", - "description": "Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set.\n\nIf the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions\n\nIf the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup" + "description": "Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set.\n\nIf the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions\n\nIf the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.resources - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup" }, "overhead": { "additionalProperties": { @@ -8932,7 +9099,7 @@ }, "resources": { "$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements", - "description": "Resources is the total amount of CPU and Memory resources required by all containers in the pod. It supports specifying Requests and Limits for \"cpu\" and \"memory\" resource names only. ResourceClaims are not supported.\n\nThis field enables fine-grained control over resource allocation for the entire pod, allowing resource sharing among containers in a pod.\n\nThis is an alpha field and requires enabling the PodLevelResources feature gate." + "description": "Resources is the total amount of CPU and Memory resources required by all containers in the pod. It supports specifying Requests and Limits for \"cpu\", \"memory\" and \"hugepages-\" resource names only. ResourceClaims are not supported.\n\nThis field enables fine-grained control over resource allocation for the entire pod, allowing resource sharing among containers in a pod.\n\nThis is an alpha field and requires enabling the PodLevelResources feature gate." }, "restartPolicy": { "description": "Restart policy for all containers within the pod. One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy\n\nPossible enum values:\n - `\"Always\"`\n - `\"Never\"`\n - `\"OnFailure\"`", @@ -9066,6 +9233,10 @@ "type": "array", "x-kubernetes-list-type": "atomic" }, + "extendedResourceClaimStatus": { + "$ref": "#/definitions/io.k8s.api.core.v1.PodExtendedResourceClaimStatus", + "description": "Status of extended resource claim backed by DRA." + }, "hostIP": { "description": "hostIP holds the IP address of the host to which the pod is assigned. Empty if the pod has not started yet. A pod can be assigned to a node that has a problem in kubelet which in turns mean that HostIP will not be updated even if there is a node is assigned to pod", "type": "string" @@ -9864,7 +10035,7 @@ "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.", + "description": "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.\n\nThis field depends on the DynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.", "items": { "$ref": "#/definitions/io.k8s.api.core.v1.ResourceClaim" }, @@ -10880,7 +11051,7 @@ }, "timeAdded": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", - "description": "TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints." + "description": "TimeAdded represents the time at which the taint was added." }, "value": { "description": "The taint value corresponding to the taint key.", @@ -11141,7 +11312,7 @@ }, "glusterfs": { "$ref": "#/definitions/io.k8s.api.core.v1.GlusterfsVolumeSource", - "description": "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported. More info: https://examples.k8s.io/volumes/glusterfs/README.md" + "description": "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported." }, "hostPath": { "$ref": "#/definitions/io.k8s.api.core.v1.HostPathVolumeSource", @@ -11153,7 +11324,7 @@ }, "iscsi": { "$ref": "#/definitions/io.k8s.api.core.v1.ISCSIVolumeSource", - "description": "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md" + "description": "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsi" }, "name": { "description": "name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", @@ -11185,7 +11356,7 @@ }, "rbd": { "$ref": "#/definitions/io.k8s.api.core.v1.RBDVolumeSource", - "description": "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported. More info: https://examples.k8s.io/volumes/rbd/README.md" + "description": "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported." }, "scaleIO": { "$ref": "#/definitions/io.k8s.api.core.v1.ScaleIOVolumeSource", @@ -11321,6 +11492,10 @@ "$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIProjection", "description": "downwardAPI information about the downwardAPI data to project" }, + "podCertificate": { + "$ref": "#/definitions/io.k8s.api.core.v1.PodCertificateProjection", + "description": "Projects an auto-rotating credential bundle (private key and certificate chain) that the pod can use either as a TLS client or server.\n\nKubelet generates a private key and uses it to send a PodCertificateRequest to the named signer. Once the signer approves the request and issues a certificate chain, Kubelet writes the key and certificate chain to the pod filesystem. The pod does not start until certificates have been issued for each podCertificate projected volume source in its spec.\n\nKubelet will begin trying to rotate the certificate at the time indicated by the signer using the PodCertificateRequest.Status.BeginRefreshAt timestamp.\n\nKubelet can write a single file, indicated by the credentialBundlePath field, or separate files, indicated by the keyPath and certificateChainPath fields.\n\nThe credential bundle is a single file in PEM format. The first PEM entry is the private key (in PKCS#8 format), and the remaining PEM entries are the certificate chain issued by the signer (typically, signers will return their certificate chain in leaf-to-root order).\n\nPrefer using the credential bundle format, since your application code can read it atomically. If you use keyPath and certificateChainPath, your application must make two separate file reads. If these coincide with a certificate rotation, it is possible that the private key and leaf certificate you read may not correspond to each other. Your application will need to check for this condition, and re-read until they are consistent.\n\nThe named signer controls chooses the format of the certificate it issues; consult the signer implementation's documentation to learn how to use the certificates it issues." + }, "secret": { "$ref": "#/definitions/io.k8s.api.core.v1.SecretProjection", "description": "secret information about the secret data to project" @@ -13028,7 +13203,7 @@ }, "podSelector": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector", - "description": "podSelector selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace." + "description": "podSelector selects the pods to which this NetworkPolicy object applies. The array of rules is applied to any pods selected by this field. An empty selector matches all pods in the policy's namespace. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is optional. If it is not specified, it defaults to an empty selector." }, "policyTypes": { "description": "policyTypes is a list of rule types that the NetworkPolicy relates to. Valid options are [\"Ingress\"], [\"Egress\"], or [\"Ingress\", \"Egress\"]. If this field is not specified, it will default based on the existence of ingress or egress rules; policies that contain an egress section are assumed to affect egress, and all policies (whether or not they contain an ingress section) are assumed to affect ingress. If you want to write an egress-only policy, you must explicitly specify policyTypes [ \"Egress\" ]. Likewise, if you want to write a policy that specifies that no egress is allowed, you must specify a policyTypes value that include \"Egress\" (since such a policy would not include an egress section and would otherwise default to just [ \"Ingress\" ]). This field is beta-level in 1.8", @@ -13043,9 +13218,6 @@ "x-kubernetes-list-type": "atomic" } }, - "required": [ - "podSelector" - ], "type": "object" }, "io.k8s.api.networking.v1.ParentReference": { @@ -13886,210 +14058,389 @@ "type": "object", "x-kubernetes-map-type": "atomic" }, - "io.k8s.api.scheduling.v1.PriorityClass": { - "description": "PriorityClass defines mapping from a priority class name to the priority integer value. The value can be any valid integer.", + "io.k8s.api.resource.v1.AllocatedDeviceStatus": { + "description": "AllocatedDeviceStatus contains the status of an allocated device, if the driver chooses to report it. This may include driver-specific information.\n\nThe combination of Driver, Pool, Device, and ShareID must match the corresponding key in Status.Allocation.Devices.", "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" + "conditions": { + "description": "Conditions contains the latest observation of the device's state. If the device has been configured according to the class and claim config references, the `Ready` condition should be True.\n\nMust not contain more than 8 entries.", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition" + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" }, - "description": { - "description": "description is an arbitrary string that usually provides guidelines on when this priority class should be used.", - "type": "string" + "data": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", + "description": "Data contains arbitrary driver-specific data.\n\nThe length of the raw data must be smaller or equal to 10 Ki." }, - "globalDefault": { - "description": "globalDefault specifies whether this PriorityClass should be considered as the default priority for pods that do not have any priority class. Only one PriorityClass can be marked as `globalDefault`. However, if more than one PriorityClasses exists with their `globalDefault` field set to true, the smallest value of such global default PriorityClasses will be used as the default priority.", - "type": "boolean" + "device": { + "description": "Device references one device instance via its name in the driver's resource pool. It must be a DNS label.", + "type": "string" }, - "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", + "driver": { + "description": "Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.", "type": "string" }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "networkData": { + "$ref": "#/definitions/io.k8s.api.resource.v1.NetworkDeviceData", + "description": "NetworkData contains network-related information specific to the device." }, - "preemptionPolicy": { - "description": "preemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.\n\nPossible enum values:\n - `\"Never\"` means that pod never preempts other pods with lower priority.\n - `\"PreemptLowerPriority\"` means that pod can preempt other pods with lower priority.", - "enum": [ - "Never", - "PreemptLowerPriority" - ], + "pool": { + "description": "This name together with the driver name and the device name field identify which device was allocated (`\u003cdriver name\u003e/\u003cpool name\u003e/\u003cdevice name\u003e`).\n\nMust not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.", "type": "string" }, - "value": { - "description": "value represents the integer value of this priority class. This is the actual priority that pods receive when they have the name of this class in their pod spec.", - "format": "int32", - "type": "integer" + "shareID": { + "description": "ShareID uniquely identifies an individual allocation share of the device.", + "type": "string" } }, "required": [ - "value" + "driver", + "pool", + "device" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "scheduling.k8s.io", - "kind": "PriorityClass", - "version": "v1" + "type": "object" + }, + "io.k8s.api.resource.v1.AllocationResult": { + "description": "AllocationResult contains attributes of an allocated resource.", + "properties": { + "allocationTimestamp": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", + "description": "AllocationTimestamp stores the time when the resources were allocated. This field is not guaranteed to be set, in which case that time is unknown.\n\nThis is an alpha field and requires enabling the DRADeviceBindingConditions and DRAResourceClaimDeviceStatus feature gate." + }, + "devices": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceAllocationResult", + "description": "Devices is the result of allocating devices." + }, + "nodeSelector": { + "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector", + "description": "NodeSelector defines where the allocated resources are available. If unset, they are available everywhere." } - ] + }, + "type": "object" }, - "io.k8s.api.scheduling.v1.PriorityClassList": { - "description": "PriorityClassList is a collection of priority classes.", + "io.k8s.api.resource.v1.CELDeviceSelector": { + "description": "CELDeviceSelector contains a CEL expression for selecting a device.", "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", + "expression": { + "description": "Expression is a CEL expression which evaluates a single device. It must evaluate to true when the device under consideration satisfies the desired criteria, and false when it does not. Any other result is an error and causes allocation of devices to abort.\n\nThe expression's input is an object named \"device\", which carries the following properties:\n - driver (string): the name of the driver which defines this device.\n - attributes (map[string]object): the device's attributes, grouped by prefix\n (e.g. device.attributes[\"dra.example.com\"] evaluates to an object with all\n of the attributes which were prefixed by \"dra.example.com\".\n - capacity (map[string]object): the device's capacities, grouped by prefix.\n - allowMultipleAllocations (bool): the allowMultipleAllocations property of the device\n (v1.34+ with the DRAConsumableCapacity feature enabled).\n\nExample: Consider a device with driver=\"dra.example.com\", which exposes two attributes named \"model\" and \"ext.example.com/family\" and which exposes one capacity named \"modules\". This input to this expression would have the following fields:\n\n device.driver\n device.attributes[\"dra.example.com\"].model\n device.attributes[\"ext.example.com\"].family\n device.capacity[\"dra.example.com\"].modules\n\nThe device.driver field can be used to check for a specific driver, either as a high-level precondition (i.e. you only want to consider devices from this driver) or as part of a multi-clause expression that is meant to consider devices from different drivers.\n\nThe value type of each attribute is defined by the device definition, and users who write these expressions must consult the documentation for their specific drivers. The value type of each capacity is Quantity.\n\nIf an unknown prefix is used as a lookup in either device.attributes or device.capacity, an empty map will be returned. Any reference to an unknown field will cause an evaluation error and allocation to abort.\n\nA robust expression should check for the existence of attributes before referencing them.\n\nFor ease of use, the cel.bind() function is enabled, and can be used to simplify expressions that access multiple attributes with the same domain. For example:\n\n cel.bind(dra, device.attributes[\"dra.example.com\"], dra.someBool \u0026\u0026 dra.anotherBool)\n\nThe length of the expression must be smaller or equal to 10 Ki. The cost of evaluating it is also limited based on the estimated number of logical steps.", "type": "string" + } + }, + "required": [ + "expression" + ], + "type": "object" + }, + "io.k8s.api.resource.v1.CapacityRequestPolicy": { + "description": "CapacityRequestPolicy defines how requests consume device capacity.\n\nMust not set more than one ValidRequestValues.", + "properties": { + "default": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", + "description": "Default specifies how much of this capacity is consumed by a request that does not contain an entry for it in DeviceRequest's Capacity." }, - "items": { - "description": "items is the list of PriorityClasses", + "validRange": { + "$ref": "#/definitions/io.k8s.api.resource.v1.CapacityRequestPolicyRange", + "description": "ValidRange defines an acceptable quantity value range in consuming requests.\n\nIf this field is set, Default must be defined and it must fall within the defined ValidRange.\n\nIf the requested amount does not fall within the defined range, the request violates the policy, and this device cannot be allocated.\n\nIf the request doesn't contain this capacity entry, Default value is used." + }, + "validValues": { + "description": "ValidValues defines a set of acceptable quantity values in consuming requests.\n\nMust not contain more than 10 entries. Must be sorted in ascending order.\n\nIf this field is set, Default must be defined and it must be included in ValidValues list.\n\nIf the requested amount does not match any valid value but smaller than some valid values, the scheduler calculates the smallest valid value that is greater than or equal to the request. That is: min(ceil(requestedValue) ∈ validValues), where requestedValue ≤ max(validValues).\n\nIf the requested amount exceeds all valid values, the request violates the policy, and this device cannot be allocated.", "items": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" }, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "type": "object" + }, + "io.k8s.api.resource.v1.CapacityRequestPolicyRange": { + "description": "CapacityRequestPolicyRange defines a valid range for consumable capacity values.\n\n - If the requested amount is less than Min, it is rounded up to the Min value.\n - If Step is set and the requested amount is between Min and Max but not aligned with Step,\n it will be rounded up to the next value equal to Min + (n * Step).\n - If Step is not set, the requested amount is used as-is if it falls within the range Min to Max (if set).\n - If the requested or rounded amount exceeds Max (if set), the request does not satisfy the policy,\n and the device cannot be allocated.", + "properties": { + "max": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", + "description": "Max defines the upper limit for capacity that can be requested.\n\nMax must be less than or equal to the capacity value. Min and requestPolicy.default must be less than or equal to the maximum." }, - "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" + "min": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", + "description": "Min specifies the minimum capacity allowed for a consumption request.\n\nMin must be greater than or equal to zero, and less than or equal to the capacity value. requestPolicy.default must be more than or equal to the minimum." }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "step": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", + "description": "Step defines the step size between valid capacity amounts within the range.\n\nMax (if set) and requestPolicy.default must be a multiple of Step. Min + Step must be less than or equal to the capacity value." } }, "required": [ - "items" + "min" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "scheduling.k8s.io", - "kind": "PriorityClassList", - "version": "v1" + "type": "object" + }, + "io.k8s.api.resource.v1.CapacityRequirements": { + "description": "CapacityRequirements defines the capacity requirements for a specific device request.", + "properties": { + "requests": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" + }, + "description": "Requests represent individual device resource requests for distinct resources, all of which must be provided by the device.\n\nThis value is used as an additional filtering condition against the available capacity on the device. This is semantically equivalent to a CEL selector with `device.capacity[\u003cdomain\u003e].\u003cname\u003e.compareTo(quantity(\u003crequest quantity\u003e)) \u003e= 0`. For example, device.capacity['test-driver.cdi.k8s.io'].counters.compareTo(quantity('2')) \u003e= 0.\n\nWhen a requestPolicy is defined, the requested amount is adjusted upward to the nearest valid value based on the policy. If the requested amount cannot be adjusted to a valid value—because it exceeds what the requestPolicy allows— the device is considered ineligible for allocation.\n\nFor any capacity that is not explicitly requested: - If no requestPolicy is set, the default consumed capacity is equal to the full device capacity\n (i.e., the whole device is claimed).\n- If a requestPolicy is set, the default consumed capacity is determined according to that policy.\n\nIf the device allows multiple allocation, the aggregated amount across all requests must not exceed the capacity value. The consumed capacity, which may be adjusted based on the requestPolicy if defined, is recorded in the resource claim’s status.devices[*].consumedCapacity field.", + "type": "object" } - ] + }, + "type": "object" }, - "io.k8s.api.storage.v1.CSIDriver": { - "description": "CSIDriver captures information about a Container Storage Interface (CSI) volume driver deployed on the cluster. Kubernetes attach detach controller uses this object to determine whether attach is required. Kubelet uses this object to determine whether pod information needs to be passed on mount. CSIDriver objects are non-namespaced.", + "io.k8s.api.resource.v1.Counter": { + "description": "Counter describes a quantity associated with a device.", "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", + "value": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", + "description": "Value defines how much of a certain device counter is available." + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "io.k8s.api.resource.v1.CounterSet": { + "description": "CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice.\n\nThe counters are not allocatable by themselves, but can be referenced by devices. When a device is allocated, the portion of counters it uses will no longer be available for use by other devices.", + "properties": { + "counters": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.api.resource.v1.Counter" + }, + "description": "Counters defines the set of counters for this CounterSet The name of each counter must be unique in that set and must be a DNS label.\n\nThe maximum number of counters in all sets is 32.", + "type": "object" + }, + "name": { + "description": "Name defines the name of the counter set. It must be a DNS label.", "type": "string" + } + }, + "required": [ + "name", + "counters" + ], + "type": "object" + }, + "io.k8s.api.resource.v1.Device": { + "description": "Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.", + "properties": { + "allNodes": { + "description": "AllNodes indicates that all nodes have access to the device.\n\nMust only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.", + "type": "boolean" }, - "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", + "allowMultipleAllocations": { + "description": "AllowMultipleAllocations marks whether the device is allowed to be allocated to multiple DeviceRequests.\n\nIf AllowMultipleAllocations is set to true, the device can be allocated more than once, and all of its capacity is consumable, regardless of whether the requestPolicy is defined or not.", + "type": "boolean" + }, + "attributes": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceAttribute" + }, + "description": "Attributes defines the set of attributes for this device. The name of each attribute must be unique in that set.\n\nThe maximum number of attributes and capacities combined is 32.", + "type": "object" + }, + "bindingConditions": { + "description": "BindingConditions defines the conditions for proceeding with binding. All of these conditions must be set in the per-device status conditions with a value of True to proceed with binding the pod to the node while scheduling the pod.\n\nThe maximum number of binding conditions is 4.\n\nThe conditions must be a valid condition type string.\n\nThis is an alpha field and requires enabling the DRADeviceBindingConditions and DRAResourceClaimDeviceStatus feature gates.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "bindingFailureConditions": { + "description": "BindingFailureConditions defines the conditions for binding failure. They may be set in the per-device status conditions. If any is set to \"True\", a binding failure occurred.\n\nThe maximum number of binding failure conditions is 4.\n\nThe conditions must be a valid condition type string.\n\nThis is an alpha field and requires enabling the DRADeviceBindingConditions and DRAResourceClaimDeviceStatus feature gates.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "bindsToNode": { + "description": "BindsToNode indicates if the usage of an allocation involving this device has to be limited to exactly the node that was chosen when allocating the claim. If set to true, the scheduler will set the ResourceClaim.Status.Allocation.NodeSelector to match the node where the allocation was made.\n\nThis is an alpha field and requires enabling the DRADeviceBindingConditions and DRAResourceClaimDeviceStatus feature gates.", + "type": "boolean" + }, + "capacity": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceCapacity" + }, + "description": "Capacity defines the set of capacities for this device. The name of each capacity must be unique in that set.\n\nThe maximum number of attributes and capacities combined is 32.", + "type": "object" + }, + "consumesCounters": { + "description": "ConsumesCounters defines a list of references to sharedCounters and the set of counters that the device will consume from those counter sets.\n\nThere can only be a single entry per counterSet.\n\nThe total number of device counter consumption entries must be \u003c= 32. In addition, the total number in the entire ResourceSlice must be \u003c= 1024 (for example, 64 devices with 16 counters each).", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceCounterConsumption" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "name": { + "description": "Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.", "type": "string" }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object metadata. metadata.Name indicates the name of the CSI driver that this object refers to; it MUST be the same name returned by the CSI GetPluginName() call for that driver. The driver name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and alphanumerics between. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "nodeName": { + "description": "NodeName identifies the node where the device is available.\n\nMust only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.", + "type": "string" }, - "spec": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriverSpec", - "description": "spec represents the specification of the CSI Driver." + "nodeSelector": { + "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector", + "description": "NodeSelector defines the nodes where the device is available.\n\nMust use exactly one term.\n\nMust only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set." + }, + "taints": { + "description": "If specified, these are the driver-defined taints.\n\nThe maximum number of taints is 4.\n\nThis is an alpha field and requires enabling the DRADeviceTaints feature gate.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceTaint" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } }, "required": [ - "spec" + "name" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "storage.k8s.io", - "kind": "CSIDriver", - "version": "v1" - } - ] + "type": "object" }, - "io.k8s.api.storage.v1.CSIDriverList": { - "description": "CSIDriverList is a collection of CSIDriver objects.", + "io.k8s.api.resource.v1.DeviceAllocationConfiguration": { + "description": "DeviceAllocationConfiguration gets embedded in an AllocationResult.", "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" + "opaque": { + "$ref": "#/definitions/io.k8s.api.resource.v1.OpaqueDeviceConfiguration", + "description": "Opaque provides driver-specific configuration parameters." }, - "items": { - "description": "items is the list of CSIDriver", + "requests": { + "description": "Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.\n\nReferences to subrequests must include the name of the main request and may include the subrequest using the format \u003cmain request\u003e[/\u003csubrequest\u003e]. If just the main request is given, the configuration applies to all subrequests.", "items": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "type": "string" }, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, - "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", + "source": { + "description": "Source records whether the configuration comes from a class and thus is not something that a normal user would have been able to set or from a claim.", "type": "string" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" } }, "required": [ - "items" + "source" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "storage.k8s.io", - "kind": "CSIDriverList", - "version": "v1" + "type": "object" + }, + "io.k8s.api.resource.v1.DeviceAllocationResult": { + "description": "DeviceAllocationResult is the result of allocating devices.", + "properties": { + "config": { + "description": "This field is a combination of all the claim and class configuration parameters. Drivers can distinguish between those based on a flag.\n\nThis includes configuration parameters for drivers which have no allocated devices in the result because it is up to the drivers which configuration parameters they support. They can silently ignore unknown configuration parameters.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceAllocationConfiguration" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "results": { + "description": "Results lists all allocated devices.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceRequestAllocationResult" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } - ] + }, + "type": "object" }, - "io.k8s.api.storage.v1.CSIDriverSpec": { - "description": "CSIDriverSpec is the specification of a CSIDriver.", + "io.k8s.api.resource.v1.DeviceAttribute": { + "description": "DeviceAttribute must have exactly one field set.", "properties": { - "attachRequired": { - "description": "attachRequired indicates this CSI volume driver requires an attach operation (because it implements the CSI ControllerPublishVolume() method), and that the Kubernetes attach detach controller should call the attach volume interface which checks the volumeattachment status and waits until the volume is attached before proceeding to mounting. The CSI external-attacher coordinates with CSI volume driver and updates the volumeattachment status when the attach operation is complete. If the CSIDriverRegistry feature gate is enabled and the value is specified to false, the attach operation will be skipped. Otherwise the attach operation will be called.\n\nThis field is immutable.", + "bool": { + "description": "BoolValue is a true/false value.", "type": "boolean" }, - "fsGroupPolicy": { - "description": "fsGroupPolicy defines if the underlying volume supports changing ownership and permission of the volume before being mounted. Refer to the specific FSGroupPolicy values for additional details.\n\nThis field was immutable in Kubernetes \u003c 1.29 and now is mutable.\n\nDefaults to ReadWriteOnceWithFSType, which will examine each volume to determine if Kubernetes should modify ownership and permissions of the volume. With the default policy the defined fsGroup will only be applied if a fstype is defined and the volume's access mode contains ReadWriteOnce.", - "type": "string" - }, - "nodeAllocatableUpdatePeriodSeconds": { - "description": "nodeAllocatableUpdatePeriodSeconds specifies the interval between periodic updates of the CSINode allocatable capacity for this driver. When set, both periodic updates and updates triggered by capacity-related failures are enabled. If not set, no updates occur (neither periodic nor upon detecting capacity-related failures), and the allocatable.count remains static. The minimum allowed value for this field is 10 seconds.\n\nThis is an alpha feature and requires the MutableCSINodeAllocatableCount feature gate to be enabled.\n\nThis field is mutable.", + "int": { + "description": "IntValue is a number.", "format": "int64", "type": "integer" }, - "podInfoOnMount": { - "description": "podInfoOnMount indicates this CSI volume driver requires additional pod information (like podName, podUID, etc.) during mount operations, if set to true. If set to false, pod information will not be passed on mount. Default is false.\n\nThe CSI driver specifies podInfoOnMount as part of driver deployment. If true, Kubelet will pass pod information as VolumeContext in the CSI NodePublishVolume() calls. The CSI driver is responsible for parsing and validating the information passed in as VolumeContext.\n\nThe following VolumeContext will be passed if podInfoOnMount is set to true. This list might grow, but the prefix will be used. \"csi.storage.k8s.io/pod.name\": pod.Name \"csi.storage.k8s.io/pod.namespace\": pod.Namespace \"csi.storage.k8s.io/pod.uid\": string(pod.UID) \"csi.storage.k8s.io/ephemeral\": \"true\" if the volume is an ephemeral inline volume\n defined by a CSIVolumeSource, otherwise \"false\"\n\n\"csi.storage.k8s.io/ephemeral\" is a new feature in Kubernetes 1.16. It is only required for drivers which support both the \"Persistent\" and \"Ephemeral\" VolumeLifecycleMode. Other drivers can leave pod info disabled and/or ignore this field. As Kubernetes 1.15 doesn't support this field, drivers can only support one mode when deployed on such a cluster and the deployment determines which mode that is, for example via a command line parameter of the driver.\n\nThis field was immutable in Kubernetes \u003c 1.29 and now is mutable.", - "type": "boolean" + "string": { + "description": "StringValue is a string. Must not be longer than 64 characters.", + "type": "string" }, - "requiresRepublish": { - "description": "requiresRepublish indicates the CSI driver wants `NodePublishVolume` being periodically called to reflect any possible change in the mounted volume. This field defaults to false.\n\nNote: After a successful initial NodePublishVolume call, subsequent calls to NodePublishVolume should only update the contents of the volume. New mount points will not be seen by a running container.", - "type": "boolean" + "version": { + "description": "VersionValue is a semantic version according to semver.org spec 2.0.0. Must not be longer than 64 characters.", + "type": "string" + } + }, + "type": "object" + }, + "io.k8s.api.resource.v1.DeviceCapacity": { + "description": "DeviceCapacity describes a quantity associated with a device.", + "properties": { + "requestPolicy": { + "$ref": "#/definitions/io.k8s.api.resource.v1.CapacityRequestPolicy", + "description": "RequestPolicy defines how this DeviceCapacity must be consumed when the device is allowed to be shared by multiple allocations.\n\nThe Device must have allowMultipleAllocations set to true in order to set a requestPolicy.\n\nIf unset, capacity requests are unconstrained: requests can consume any amount of capacity, as long as the total consumed across all allocations does not exceed the device's defined capacity. If request is also unset, default is the full capacity value." }, - "seLinuxMount": { - "description": "seLinuxMount specifies if the CSI driver supports \"-o context\" mount option.\n\nWhen \"true\", the CSI driver must ensure that all volumes provided by this CSI driver can be mounted separately with different `-o context` options. This is typical for storage backends that provide volumes as filesystems on block devices or as independent shared volumes. Kubernetes will call NodeStage / NodePublish with \"-o context=xyz\" mount option when mounting a ReadWriteOncePod volume used in Pod that has explicitly set SELinux context. In the future, it may be expanded to other volume AccessModes. In any case, Kubernetes will ensure that the volume is mounted only with a single SELinux context.\n\nWhen \"false\", Kubernetes won't pass any special SELinux mount options to the driver. This is typical for volumes that represent subdirectories of a bigger shared filesystem.\n\nDefault is \"false\".", - "type": "boolean" + "value": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", + "description": "Value defines how much of a certain capacity that device has.\n\nThis field reflects the fixed total capacity and does not change. The consumed amount is tracked separately by scheduler and does not affect this value." + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "io.k8s.api.resource.v1.DeviceClaim": { + "description": "DeviceClaim defines how to request devices with a ResourceClaim.", + "properties": { + "config": { + "description": "This field holds configuration for multiple potential drivers which could satisfy requests in this claim. It is ignored while allocating the claim.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClaimConfiguration" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - "storageCapacity": { - "description": "storageCapacity indicates that the CSI volume driver wants pod scheduling to consider the storage capacity that the driver deployment will report by creating CSIStorageCapacity objects with capacity information, if set to true.\n\nThe check can be enabled immediately when deploying a driver. In that case, provisioning new volumes with late binding will pause until the driver deployment has published some suitable CSIStorageCapacity object.\n\nAlternatively, the driver can be deployed with the field unset or false and it can be flipped later when storage capacity information has been published.\n\nThis field was immutable in Kubernetes \u003c= 1.22 and now is mutable.", - "type": "boolean" + "constraints": { + "description": "These constraints must be satisfied by the set of devices that get allocated for the claim.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceConstraint" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - "tokenRequests": { - "description": "tokenRequests indicates the CSI driver needs pods' service account tokens it is mounting volume for to do necessary authentication. Kubelet will pass the tokens in VolumeContext in the CSI NodePublishVolume calls. The CSI driver should parse and validate the following VolumeContext: \"csi.storage.k8s.io/serviceAccount.tokens\": {\n \"\u003caudience\u003e\": {\n \"token\": \u003ctoken\u003e,\n \"expirationTimestamp\": \u003cexpiration timestamp in RFC3339\u003e,\n },\n ...\n}\n\nNote: Audience in each TokenRequest should be different and at most one token is empty string. To receive a new token after expiry, RequiresRepublish can be used to trigger NodePublishVolume periodically.", + "requests": { + "description": "Requests represent individual requests for distinct devices which must all be satisfied. If empty, nothing needs to be allocated.", "items": { - "$ref": "#/definitions/io.k8s.api.storage.v1.TokenRequest" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceRequest" }, "type": "array", "x-kubernetes-list-type": "atomic" + } + }, + "type": "object" + }, + "io.k8s.api.resource.v1.DeviceClaimConfiguration": { + "description": "DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.", + "properties": { + "opaque": { + "$ref": "#/definitions/io.k8s.api.resource.v1.OpaqueDeviceConfiguration", + "description": "Opaque provides driver-specific configuration parameters." }, - "volumeLifecycleModes": { - "description": "volumeLifecycleModes defines what kind of volumes this CSI volume driver supports. The default if the list is empty is \"Persistent\", which is the usage defined by the CSI specification and implemented in Kubernetes via the usual PV/PVC mechanism.\n\nThe other mode is \"Ephemeral\". In this mode, volumes are defined inline inside the pod spec with CSIVolumeSource and their lifecycle is tied to the lifecycle of that pod. A driver has to be aware of this because it is only going to get a NodePublishVolume call for such a volume.\n\nFor more information about implementing this mode, see https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html A driver can support one or more of these modes and more modes may be added in the future.\n\nThis field is beta. This field is immutable.", + "requests": { + "description": "Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.\n\nReferences to subrequests must include the name of the main request and may include the subrequest using the format \u003cmain request\u003e[/\u003csubrequest\u003e]. If just the main request is given, the configuration applies to all subrequests.", "items": { "type": "string" }, "type": "array", - "x-kubernetes-list-type": "set" + "x-kubernetes-list-type": "atomic" } }, "type": "object" }, - "io.k8s.api.storage.v1.CSINode": { - "description": "CSINode holds information about all CSI drivers installed on a node. CSI drivers do not need to create the CSINode object directly. As long as they use the node-driver-registrar sidecar container, the kubelet will automatically populate the CSINode object for the CSI driver as part of kubelet plugin registration. CSINode has the same name as a node. If the object is missing, it means either there are no CSI Drivers available on the node, or the Kubelet version is low enough that it doesn't create this object. CSINode has an OwnerReference that points to the corresponding node object.", + "io.k8s.api.resource.v1.DeviceClass": { + "description": "DeviceClass is a vendor- or admin-provided resource that contains device configuration and selectors. It can be referenced in the device requests of a claim to apply these presets. Cluster scoped.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", "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", @@ -14101,11 +14452,11 @@ }, "metadata": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object's metadata. metadata.name must be the Kubernetes node name." + "description": "Standard object metadata" }, "spec": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINodeSpec", - "description": "spec is the specification of CSINode" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClassSpec", + "description": "Spec defines what can be allocated and how to configure it.\n\nThis is mutable. Consumers have to be prepared for classes changing at any time, either because they get updated or replaced. Claim allocations are done once based on whatever was set in classes at the time of allocation.\n\nChanging the spec automatically increments the metadata.generation number." } }, "required": [ @@ -14114,53 +14465,33 @@ "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "storage.k8s.io", - "kind": "CSINode", + "group": "resource.k8s.io", + "kind": "DeviceClass", "version": "v1" } ] }, - "io.k8s.api.storage.v1.CSINodeDriver": { - "description": "CSINodeDriver holds information about the specification of one CSI driver installed on a node", + "io.k8s.api.resource.v1.DeviceClassConfiguration": { + "description": "DeviceClassConfiguration is used in DeviceClass.", "properties": { - "allocatable": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeNodeResources", - "description": "allocatable represents the volume resources of a node that are available for scheduling. This field is beta." - }, - "name": { - "description": "name represents the name of the CSI driver that this object refers to. This MUST be the same name returned by the CSI GetPluginName() call for that driver.", - "type": "string" - }, - "nodeID": { - "description": "nodeID of the node from the driver point of view. This field enables Kubernetes to communicate with storage systems that do not share the same nomenclature for nodes. For example, Kubernetes may refer to a given node as \"node1\", but the storage system may refer to the same node as \"nodeA\". When Kubernetes issues a command to the storage system to attach a volume to a specific node, it can use this field to refer to the node name using the ID that the storage system will understand, e.g. \"nodeA\" instead of \"node1\". This field is required.", - "type": "string" - }, - "topologyKeys": { - "description": "topologyKeys is the list of keys supported by the driver. When a driver is initialized on a cluster, it provides a set of topology keys that it understands (e.g. \"company.com/zone\", \"company.com/region\"). When a driver is initialized on a node, it provides the same topology keys along with values. Kubelet will expose these topology keys as labels on its own node object. When Kubernetes does topology aware provisioning, it can use this list to determine which labels it should retrieve from the node object and pass back to the driver. It is possible for different nodes to use different topology keys. This can be empty if driver does not support topology.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "opaque": { + "$ref": "#/definitions/io.k8s.api.resource.v1.OpaqueDeviceConfiguration", + "description": "Opaque provides driver-specific configuration parameters." } }, - "required": [ - "name", - "nodeID" - ], "type": "object" }, - "io.k8s.api.storage.v1.CSINodeList": { - "description": "CSINodeList is a collection of CSINode objects.", + "io.k8s.api.resource.v1.DeviceClassList": { + "description": "DeviceClassList is a collection of classes.", "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" }, "items": { - "description": "items is the list of CSINode", + "description": "Items is the list of resource classes.", "items": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" }, "type": "array" }, @@ -14170,7 +14501,7 @@ }, "metadata": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "Standard list metadata" } }, "required": [ @@ -14179,463 +14510,383 @@ "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "storage.k8s.io", - "kind": "CSINodeList", + "group": "resource.k8s.io", + "kind": "DeviceClassList", "version": "v1" } ] }, - "io.k8s.api.storage.v1.CSINodeSpec": { - "description": "CSINodeSpec holds information about the specification of all CSI drivers installed on a node", + "io.k8s.api.resource.v1.DeviceClassSpec": { + "description": "DeviceClassSpec is used in a [DeviceClass] to define what can be allocated and how to configure it.", "properties": { - "drivers": { - "description": "drivers is a list of information of all CSI Drivers existing on a node. If all drivers in the list are uninstalled, this can become empty.", + "config": { + "description": "Config defines configuration parameters that apply to each device that is claimed via this class. Some classses may potentially be satisfied by multiple drivers, so each instance of a vendor configuration applies to exactly one driver.\n\nThey are passed to the driver, but are not considered while allocating the claim.", "items": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINodeDriver" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClassConfiguration" }, "type": "array", - "x-kubernetes-list-map-keys": [ - "name" - ], - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "name", - "x-kubernetes-patch-strategy": "merge" + "x-kubernetes-list-type": "atomic" + }, + "extendedResourceName": { + "description": "ExtendedResourceName is the extended resource name for the devices of this class. The devices of this class can be used to satisfy a pod's extended resource requests. It has the same format as the name of a pod's extended resource. It should be unique among all the device classes in a cluster. If two device classes have the same name, then the class created later is picked to satisfy a pod's extended resource requests. If two classes are created at the same time, then the name of the class lexicographically sorted first is picked.\n\nThis is an alpha field.", + "type": "string" + }, + "selectors": { + "description": "Each selector must be satisfied by a device which is claimed via this class.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceSelector" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } }, - "required": [ - "drivers" - ], "type": "object" }, - "io.k8s.api.storage.v1.CSIStorageCapacity": { - "description": "CSIStorageCapacity stores the result of one CSI GetCapacity call. For a given StorageClass, this describes the available capacity in a particular topology segment. This can be used when considering where to instantiate new PersistentVolumes.\n\nFor example this can express things like: - StorageClass \"standard\" has \"1234 GiB\" available in \"topology.kubernetes.io/zone=us-east1\" - StorageClass \"localssd\" has \"10 GiB\" available in \"kubernetes.io/hostname=knode-abc123\"\n\nThe following three cases all imply that no capacity is available for a certain combination: - no object exists with suitable topology and storage class name - such an object exists, but the capacity is unset - such an object exists, but the capacity is zero\n\nThe producer of these objects can decide which approach is more suitable.\n\nThey are consumed by the kube-scheduler when a CSI driver opts into capacity-aware scheduling with CSIDriverSpec.StorageCapacity. The scheduler compares the MaximumVolumeSize against the requested size of pending volumes to filter out unsuitable nodes. If MaximumVolumeSize is unset, it falls back to a comparison against the less precise Capacity. If that is also unset, the scheduler assumes that capacity is insufficient and tries some other node.", + "io.k8s.api.resource.v1.DeviceConstraint": { + "description": "DeviceConstraint must have exactly one field set besides Requests.", "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", + "distinctAttribute": { + "description": "DistinctAttribute requires that all devices in question have this attribute and that its type and value are unique across those devices.\n\nThis acts as the inverse of MatchAttribute.\n\nThis constraint is used to avoid allocating multiple requests to the same device by ensuring attribute-level differentiation.\n\nThis is useful for scenarios where resource requests must be fulfilled by separate physical devices. For example, a container requests two network interfaces that must be allocated from two different physical NICs.", "type": "string" }, - "capacity": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", - "description": "capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThe semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable." - }, - "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", + "matchAttribute": { + "description": "MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.\n\nFor example, if you specified \"dra.example.com/numa\" (a hypothetical example!), then only devices in the same NUMA node will be chosen. A device which does not have that attribute will not be chosen. All devices should use a value of the same type for this attribute because that is part of its specification, but if one device doesn't, then it also will not be chosen.\n\nMust include the domain qualifier.", "type": "string" }, - "maximumVolumeSize": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", - "description": "maximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThis is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim." - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object's metadata. The name has no particular meaning. It must be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-\u003cuuid\u003e, a generated name, or a reverse-domain name which ends with the unique CSI driver name.\n\nObjects are namespaced.\n\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "nodeTopology": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector", - "description": "nodeTopology defines which nodes have access to the storage for which capacity was reported. If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable." - }, - "storageClassName": { - "description": "storageClassName represents the name of the StorageClass that the reported capacity applies to. It must meet the same requirements as the name of a StorageClass object (non-empty, DNS subdomain). If that object no longer exists, the CSIStorageCapacity object is obsolete and should be removed by its creator. This field is immutable.", + "requests": { + "description": "Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim.\n\nReferences to subrequests must include the name of the main request and may include the subrequest using the format \u003cmain request\u003e[/\u003csubrequest\u003e]. If just the main request is given, the constraint applies to all subrequests.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "type": "object" + }, + "io.k8s.api.resource.v1.DeviceCounterConsumption": { + "description": "DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.", + "properties": { + "counterSet": { + "description": "CounterSet is the name of the set from which the counters defined will be consumed.", "type": "string" + }, + "counters": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.api.resource.v1.Counter" + }, + "description": "Counters defines the counters that will be consumed by the device.\n\nThe maximum number counters in a device is 32. In addition, the maximum number of all counters in all devices is 1024 (for example, 64 devices with 16 counters each).", + "type": "object" } }, "required": [ - "storageClassName" + "counterSet", + "counters" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", - "version": "v1" - } - ] + "type": "object" }, - "io.k8s.api.storage.v1.CSIStorageCapacityList": { - "description": "CSIStorageCapacityList is a collection of CSIStorageCapacity objects.", + "io.k8s.api.resource.v1.DeviceRequest": { + "description": "DeviceRequest is a request for devices required for a claim. This is typically a request for a single resource like a device, but can also ask for several identical devices. With FirstAvailable it is also possible to provide a prioritized list of requests.", "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" + "exactly": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ExactDeviceRequest", + "description": "Exactly specifies the details for a single request that must be met exactly for the request to be satisfied.\n\nOne of Exactly or FirstAvailable must be set." }, - "items": { - "description": "items is the list of CSIStorageCapacity objects.", + "firstAvailable": { + "description": "FirstAvailable contains subrequests, of which exactly one will be selected by the scheduler. It tries to satisfy them in the order in which they are listed here. So if there are two entries in the list, the scheduler will only check the second one if it determines that the first one can not be used.\n\nDRA does not yet implement scoring, so the scheduler will select the first set of devices that satisfies all the requests in the claim. And if the requirements can be satisfied on more than one node, other scheduling features will determine which node is chosen. This means that the set of devices allocated to a claim might not be the optimal set available to the cluster. Scoring will be implemented later.", "items": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceSubRequest" }, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, - "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", + "name": { + "description": "Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.\n\nReferences using the name in the DeviceRequest will uniquely identify a request when the Exactly field is set. When the FirstAvailable field is set, a reference to the name of the DeviceRequest will match whatever subrequest is chosen by the scheduler.\n\nMust be a DNS label.", "type": "string" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" } }, "required": [ - "items" + "name" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "storage.k8s.io", - "kind": "CSIStorageCapacityList", - "version": "v1" - } - ] + "type": "object" }, - "io.k8s.api.storage.v1.StorageClass": { - "description": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.", + "io.k8s.api.resource.v1.DeviceRequestAllocationResult": { + "description": "DeviceRequestAllocationResult contains the allocation result for one request.", "properties": { - "allowVolumeExpansion": { - "description": "allowVolumeExpansion shows whether the storage class allow volume expand.", + "adminAccess": { + "description": "AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.", "type": "boolean" }, - "allowedTopologies": { - "description": "allowedTopologies restrict the node topologies where volumes can be dynamically provisioned. Each volume plugin defines its own supported topology specifications. An empty TopologySelectorTerm list means there is no topology restriction. This field is only honored by servers that enable the VolumeScheduling feature.", + "bindingConditions": { + "description": "BindingConditions contains a copy of the BindingConditions from the corresponding ResourceSlice at the time of allocation.\n\nThis is an alpha field and requires enabling the DRADeviceBindingConditions and DRAResourceClaimDeviceStatus feature gates.", "items": { - "$ref": "#/definitions/io.k8s.api.core.v1.TopologySelectorTerm" + "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, - "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" - }, - "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" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "mountOptions": { - "description": "mountOptions controls the mountOptions for dynamically provisioned PersistentVolumes of this storage class. e.g. [\"ro\", \"soft\"]. Not validated - mount of the PVs will simply fail if one is invalid.", + "bindingFailureConditions": { + "description": "BindingFailureConditions contains a copy of the BindingFailureConditions from the corresponding ResourceSlice at the time of allocation.\n\nThis is an alpha field and requires enabling the DRADeviceBindingConditions and DRAResourceClaimDeviceStatus feature gates.", "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, - "parameters": { + "consumedCapacity": { "additionalProperties": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" }, - "description": "parameters holds the parameters for the provisioner that should create volumes of this storage class.", + "description": "ConsumedCapacity tracks the amount of capacity consumed per device as part of the claim request. The consumed amount may differ from the requested amount: it is rounded up to the nearest valid value based on the device’s requestPolicy if applicable (i.e., may not be less than the requested amount).\n\nThe total consumed capacity for each device must not exceed the DeviceCapacity's Value.\n\nThis field is populated only for devices that allow multiple allocations. All capacity entries are included, even if the consumed amount is zero.", "type": "object" }, - "provisioner": { - "description": "provisioner indicates the type of the provisioner.", + "device": { + "description": "Device references one device instance via its name in the driver's resource pool. It must be a DNS label.", "type": "string" }, - "reclaimPolicy": { - "description": "reclaimPolicy controls the reclaimPolicy for dynamically provisioned PersistentVolumes of this storage class. Defaults to Delete.\n\nPossible enum values:\n - `\"Delete\"` means the volume will be deleted from Kubernetes on release from its claim. The volume plugin must support Deletion.\n - `\"Recycle\"` means the volume will be recycled back into the pool of unbound persistent volumes on release from its claim. The volume plugin must support Recycling.\n - `\"Retain\"` means the volume will be left in its current phase (Released) for manual reclamation by the administrator. The default policy is Retain.", - "enum": [ - "Delete", - "Recycle", - "Retain" - ], + "driver": { + "description": "Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.", "type": "string" }, - "volumeBindingMode": { - "description": "volumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is only honored by servers that enable the VolumeScheduling feature.\n\nPossible enum values:\n - `\"Immediate\"` indicates that PersistentVolumeClaims should be immediately provisioned and bound. This is the default mode.\n - `\"WaitForFirstConsumer\"` indicates that PersistentVolumeClaims should not be provisioned and bound until the first Pod is created that references the PeristentVolumeClaim. The volume provisioning and binding will occur during Pod scheduing.", - "enum": [ - "Immediate", - "WaitForFirstConsumer" - ], - "type": "string" - } - }, - "required": [ - "provisioner" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "storage.k8s.io", - "kind": "StorageClass", - "version": "v1" - } - ] - }, - "io.k8s.api.storage.v1.StorageClassList": { - "description": "StorageClassList is a collection of storage classes.", - "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", + "pool": { + "description": "This name together with the driver name and the device name field identify which device was allocated (`\u003cdriver name\u003e/\u003cpool name\u003e/\u003cdevice name\u003e`).\n\nMust not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.", "type": "string" }, - "items": { - "description": "items is the list of StorageClasses", - "items": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" - }, - "type": "array" + "request": { + "description": "Request is the name of the request in the claim which caused this device to be allocated. If it references a subrequest in the firstAvailable list on a DeviceRequest, this field must include both the name of the main request and the subrequest using the format \u003cmain request\u003e/\u003csubrequest\u003e.\n\nMultiple devices may have been allocated per request.", + "type": "string" }, - "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", + "shareID": { + "description": "ShareID uniquely identifies an individual allocation share of the device, used when the device supports multiple simultaneous allocations. It serves as an additional map key to differentiate concurrent shares of the same device.", "type": "string" }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "tolerations": { + "description": "A copy of all tolerations specified in the request at the time when the device got allocated.\n\nThe maximum number of tolerations is 16.\n\nThis is an alpha field and requires enabling the DRADeviceTaints feature gate.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceToleration" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } }, "required": [ - "items" + "request", + "driver", + "pool", + "device" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "storage.k8s.io", - "kind": "StorageClassList", - "version": "v1" - } - ] + "type": "object" }, - "io.k8s.api.storage.v1.TokenRequest": { - "description": "TokenRequest contains parameters of a service account token.", + "io.k8s.api.resource.v1.DeviceSelector": { + "description": "DeviceSelector must have exactly one field set.", "properties": { - "audience": { - "description": "audience is the intended audience of the token in \"TokenRequestSpec\". It will default to the audiences of kube apiserver.", - "type": "string" - }, - "expirationSeconds": { - "description": "expirationSeconds is the duration of validity of the token in \"TokenRequestSpec\". It has the same default value of \"ExpirationSeconds\" in \"TokenRequestSpec\".", - "format": "int64", - "type": "integer" + "cel": { + "$ref": "#/definitions/io.k8s.api.resource.v1.CELDeviceSelector", + "description": "CEL contains a CEL expression for selecting a device." } }, - "required": [ - "audience" - ], "type": "object" }, - "io.k8s.api.storage.v1.VolumeAttachment": { - "description": "VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node.\n\nVolumeAttachment objects are non-namespaced.", + "io.k8s.api.resource.v1.DeviceSubRequest": { + "description": "DeviceSubRequest describes a request for device provided in the claim.spec.devices.requests[].firstAvailable array. Each is typically a request for a single resource like a device, but can also ask for several identical devices.\n\nDeviceSubRequest is similar to ExactDeviceRequest, but doesn't expose the AdminAccess field as that one is only supported when requesting a specific device.", "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", + "allocationMode": { + "description": "AllocationMode and its related fields define how devices are allocated to satisfy this subrequest. Supported values are:\n\n- ExactCount: This request is for a specific number of devices.\n This is the default. The exact number is provided in the\n count field.\n\n- All: This subrequest is for all of the matching devices in a pool.\n Allocation will fail if some devices are already allocated,\n unless adminAccess is requested.\n\nIf AllocationMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other subrequests must specify this field.\n\nMore modes may get added in the future. Clients must refuse to handle requests with unknown modes.", "type": "string" }, - "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" + "capacity": { + "$ref": "#/definitions/io.k8s.api.resource.v1.CapacityRequirements", + "description": "Capacity define resource requirements against each capacity.\n\nIf this field is unset and the device supports multiple allocations, the default value will be applied to each capacity according to requestPolicy. For the capacity that has no requestPolicy, default is the full capacity value.\n\nApplies to each device allocation. If Count \u003e 1, the request fails if there aren't enough devices that meet the requirements. If AllocationMode is set to All, the request fails if there are devices that otherwise match the request, and have this capacity, with a value \u003e= the requested amount, but which cannot be allocated to this request." }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "count": { + "description": "Count is used only when the count mode is \"ExactCount\". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.", + "format": "int64", + "type": "integer" }, - "spec": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachmentSpec", - "description": "spec represents specification of the desired attach/detach volume behavior. Populated by the Kubernetes system." + "deviceClassName": { + "description": "DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this subrequest.\n\nA class is required. Which classes are available depends on the cluster.\n\nAdministrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.", + "type": "string" }, - "status": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachmentStatus", - "description": "status represents status of the VolumeAttachment request. Populated by the entity completing the attach or detach operation, i.e. the external-attacher." - } - }, - "required": [ - "spec" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "storage.k8s.io", - "kind": "VolumeAttachment", - "version": "v1" - } - ] - }, - "io.k8s.api.storage.v1.VolumeAttachmentList": { - "description": "VolumeAttachmentList is a collection of VolumeAttachment objects.", - "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", + "name": { + "description": "Name can be used to reference this subrequest in the list of constraints or the list of configurations for the claim. References must use the format \u003cmain request\u003e/\u003csubrequest\u003e.\n\nMust be a DNS label.", "type": "string" }, - "items": { - "description": "items is the list of VolumeAttachments", + "selectors": { + "description": "Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this subrequest. All selectors must be satisfied for a device to be considered.", "items": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceSelector" }, - "type": "array" - }, - "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" + "type": "array", + "x-kubernetes-list-type": "atomic" }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "tolerations": { + "description": "If specified, the request's tolerations.\n\nTolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.\n\nIn addition, should any of the allocated devices get tainted with NoExecute after allocation and that effect is not tolerated, then all pods consuming the ResourceClaim get deleted to evict them. The scheduler will not let new pods reserve the claim while it has these tainted devices. Once all pods are evicted, the claim will get deallocated.\n\nThe maximum number of tolerations is 16.\n\nThis is an alpha field and requires enabling the DRADeviceTaints feature gate.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceToleration" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } }, "required": [ - "items" + "name", + "deviceClassName" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "storage.k8s.io", - "kind": "VolumeAttachmentList", - "version": "v1" - } - ] - }, - "io.k8s.api.storage.v1.VolumeAttachmentSource": { - "description": "VolumeAttachmentSource represents a volume that should be attached. Right now only PersistentVolumes can be attached via external attacher, in the future we may allow also inline volumes in pods. Exactly one member can be set.", - "properties": { - "inlineVolumeSpec": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeSpec", - "description": "inlineVolumeSpec contains all the information necessary to attach a persistent volume defined by a pod's inline VolumeSource. This field is populated only for the CSIMigration feature. It contains translated fields from a pod's inline VolumeSource to a PersistentVolumeSpec. This field is beta-level and is only honored by servers that enabled the CSIMigration feature." - }, - "persistentVolumeName": { - "description": "persistentVolumeName represents the name of the persistent volume to attach.", - "type": "string" - } - }, "type": "object" }, - "io.k8s.api.storage.v1.VolumeAttachmentSpec": { - "description": "VolumeAttachmentSpec is the specification of a VolumeAttachment request.", + "io.k8s.api.resource.v1.DeviceTaint": { + "description": "The device this taint is attached to has the \"effect\" on any claim which does not tolerate the taint and, through the claim, to pods using the claim.", "properties": { - "attacher": { - "description": "attacher indicates the name of the volume driver that MUST handle this request. This is the name returned by GetPluginName().", + "effect": { + "description": "The effect of the taint on claims that do not tolerate the taint and through such claims on the pods using them. Valid effects are NoSchedule and NoExecute. PreferNoSchedule as used for nodes is not valid here.\n\n\nPossible enum values:\n - `\"NoExecute\"` Evict any already-running pods that do not tolerate the device taint.\n - `\"NoSchedule\"` Do not allow new pods to schedule which use a tainted device unless they tolerate the taint, but allow all pods submitted to Kubelet without going through the scheduler to start, and allow all already-running pods to continue running.", + "enum": [ + "NoExecute", + "NoSchedule" + ], "type": "string" }, - "nodeName": { - "description": "nodeName represents the node that the volume should be attached to.", + "key": { + "description": "The taint key to be applied to a device. Must be a label name.", "type": "string" }, - "source": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachmentSource", - "description": "source represents the volume that should be attached." + "timeAdded": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", + "description": "TimeAdded represents the time at which the taint was added. Added automatically during create or update if not set." + }, + "value": { + "description": "The taint value corresponding to the taint key. Must be a label value.", + "type": "string" } }, "required": [ - "attacher", - "source", - "nodeName" + "key", + "effect" ], "type": "object" }, - "io.k8s.api.storage.v1.VolumeAttachmentStatus": { - "description": "VolumeAttachmentStatus is the status of a VolumeAttachment request.", + "io.k8s.api.resource.v1.DeviceToleration": { + "description": "The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.", "properties": { - "attachError": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeError", - "description": "attachError represents the last error encountered during attach operation, if any. This field must only be set by the entity completing the attach operation, i.e. the external-attacher." + "effect": { + "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule and NoExecute.\n\n\nPossible enum values:\n - `\"NoExecute\"` Evict any already-running pods that do not tolerate the device taint.\n - `\"NoSchedule\"` Do not allow new pods to schedule which use a tainted device unless they tolerate the taint, but allow all pods submitted to Kubelet without going through the scheduler to start, and allow all already-running pods to continue running.", + "enum": [ + "NoExecute", + "NoSchedule" + ], + "type": "string" }, - "attached": { - "description": "attached indicates the volume is successfully attached. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.", - "type": "boolean" + "key": { + "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. Must be a label name.", + "type": "string" }, - "attachmentMetadata": { - "additionalProperties": { - "type": "string" - }, - "description": "attachmentMetadata is populated with any information returned by the attach operation, upon successful attach, that must be passed into subsequent WaitForAttach or Mount calls. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.", - "type": "object" + "operator": { + "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a ResourceClaim can tolerate all taints of a particular category.\n\n\nPossible enum values:\n - `\"Equal\"`\n - `\"Exists\"`", + "enum": [ + "Equal", + "Exists" + ], + "type": "string" }, - "detachError": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeError", - "description": "detachError represents the last error encountered during detach operation, if any. This field must only be set by the entity completing the detach operation, i.e. the external-attacher." - } - }, - "required": [ - "attached" - ], - "type": "object" - }, - "io.k8s.api.storage.v1.VolumeError": { - "description": "VolumeError captures an error encountered during a volume operation.", - "properties": { - "errorCode": { - "description": "errorCode is a numeric gRPC code representing the error encountered during Attach or Detach operations.\n\nThis is an optional, alpha field that requires the MutableCSINodeAllocatableCount feature gate being enabled to be set.", - "format": "int32", + "tolerationSeconds": { + "description": "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. If larger than zero, the time when the pod needs to be evicted is calculated as \u003ctime when taint was adedd\u003e + \u003ctoleration seconds\u003e.", + "format": "int64", "type": "integer" }, - "message": { - "description": "message represents the error encountered during Attach or Detach operation. This string may be logged, so it should not contain sensitive information.", + "value": { + "description": "Value is the taint value the toleration matches to. If the operator is Exists, the value must be empty, otherwise just a regular string. Must be a label value.", "type": "string" - }, - "time": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", - "description": "time represents the time the error was encountered." } }, "type": "object" }, - "io.k8s.api.storage.v1.VolumeNodeResources": { - "description": "VolumeNodeResources is a set of resource limits for scheduling of volumes.", + "io.k8s.api.resource.v1.ExactDeviceRequest": { + "description": "ExactDeviceRequest is a request for one or more identical devices.", "properties": { + "adminAccess": { + "description": "AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.", + "type": "boolean" + }, + "allocationMode": { + "description": "AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:\n\n- ExactCount: This request is for a specific number of devices.\n This is the default. The exact number is provided in the\n count field.\n\n- All: This request is for all of the matching devices in a pool.\n At least one device must exist on the node for the allocation to succeed.\n Allocation will fail if some devices are already allocated,\n unless adminAccess is requested.\n\nIf AllocationMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.\n\nMore modes may get added in the future. Clients must refuse to handle requests with unknown modes.", + "type": "string" + }, + "capacity": { + "$ref": "#/definitions/io.k8s.api.resource.v1.CapacityRequirements", + "description": "Capacity define resource requirements against each capacity.\n\nIf this field is unset and the device supports multiple allocations, the default value will be applied to each capacity according to requestPolicy. For the capacity that has no requestPolicy, default is the full capacity value.\n\nApplies to each device allocation. If Count \u003e 1, the request fails if there aren't enough devices that meet the requirements. If AllocationMode is set to All, the request fails if there are devices that otherwise match the request, and have this capacity, with a value \u003e= the requested amount, but which cannot be allocated to this request." + }, "count": { - "description": "count indicates the maximum number of unique volumes managed by the CSI driver that can be used on a node. A volume that is both attached and mounted on a node is considered to be used once, not twice. The same rule applies for a unique volume that is shared among multiple pods on the same node. If this field is not specified, then the supported number of volumes on this node is unbounded.", - "format": "int32", + "description": "Count is used only when the count mode is \"ExactCount\". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.", + "format": "int64", "type": "integer" + }, + "deviceClassName": { + "description": "DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.\n\nA DeviceClassName is required.\n\nAdministrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.", + "type": "string" + }, + "selectors": { + "description": "Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceSelector" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "tolerations": { + "description": "If specified, the request's tolerations.\n\nTolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.\n\nIn addition, should any of the allocated devices get tainted with NoExecute after allocation and that effect is not tolerated, then all pods consuming the ResourceClaim get deleted to evict them. The scheduler will not let new pods reserve the claim while it has these tainted devices. Once all pods are evicted, the claim will get deallocated.\n\nThe maximum number of tolerations is 16.\n\nThis is an alpha field and requires enabling the DRADeviceTaints feature gate.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceToleration" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } }, + "required": [ + "deviceClassName" + ], "type": "object" }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceColumnDefinition": { - "description": "CustomResourceColumnDefinition specifies a column for server side printing.", + "io.k8s.api.resource.v1.NetworkDeviceData": { + "description": "NetworkDeviceData provides network-related details for the allocated device. This information may be filled by drivers or other components to configure or identify the device within a network context.", "properties": { - "description": { - "description": "description is a human readable description of this column.", + "hardwareAddress": { + "description": "HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.\n\nMust not be longer than 128 characters.", "type": "string" }, - "format": { - "description": "format is an optional OpenAPI type definition for this column. The 'name' format is applied to the primary identifier column to assist in clients identifying column is the resource name. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.", - "type": "string" - }, - "jsonPath": { - "description": "jsonPath is a simple JSON path (i.e. with array notation) which is evaluated against each custom resource to produce the value for this column.", - "type": "string" - }, - "name": { - "description": "name is a human readable name for the column.", + "interfaceName": { + "description": "InterfaceName specifies the name of the network interface associated with the allocated device. This might be the name of a physical or virtual network interface being configured in the pod.\n\nMust not be longer than 256 characters.", "type": "string" }, - "priority": { - "description": "priority is an integer defining the relative importance of this column compared to others. Lower numbers are considered higher priority. Columns that may be omitted in limited space scenarios should be given a priority greater than 0.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "type is an OpenAPI type definition for this column. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.", - "type": "string" + "ips": { + "description": "IPs lists the network addresses assigned to the device's network interface. This can include both IPv4 and IPv6 addresses. The IPs are in the CIDR notation, which includes both the address and the associated subnet mask. e.g.: \"192.0.2.5/24\" for IPv4 and \"2001:db8::5/64\" for IPv6.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } }, - "required": [ - "name", - "type", - "jsonPath" - ], "type": "object" }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceConversion": { - "description": "CustomResourceConversion describes how to convert different versions of a CR.", + "io.k8s.api.resource.v1.OpaqueDeviceConfiguration": { + "description": "OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.", "properties": { - "strategy": { - "description": "strategy specifies how custom resources are converted between versions. Allowed values are: - `\"None\"`: The converter only change the apiVersion and would not touch any other field in the custom resource. - `\"Webhook\"`: API Server will call to an external webhook to do the conversion. Additional information\n is needed for this option. This requires spec.preserveUnknownFields to be false, and spec.conversion.webhook to be set.", + "driver": { + "description": "Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.\n\nAn admission policy provided by the driver developer could use this to decide whether it needs to validate them.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.", "type": "string" }, - "webhook": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.WebhookConversion", - "description": "webhook describes how to call the conversion webhook. Required when `strategy` is set to `\"Webhook\"`." + "parameters": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", + "description": "Parameters can contain arbitrary data. It is the responsibility of the driver developer to handle validation and versioning. Typically this includes self-identification and a version (\"kind\" + \"apiVersion\" for Kubernetes types), with conversion between different versions.\n\nThe length of the raw data must be smaller or equal to 10 Ki." } }, "required": [ - "strategy" + "driver", + "parameters" ], "type": "object" }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition": { - "description": "CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format \u003c.spec.name\u003e.\u003c.spec.group\u003e.", + "io.k8s.api.resource.v1.ResourceClaim": { + "description": "ResourceClaim describes a request for access to resources in the cluster, for use by workloads. For example, if a workload needs an accelerator device with specific properties, this is how that request is expressed. The status stanza tracks whether this claim has been satisfied and what specific resources have been allocated.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", "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", @@ -14647,15 +14898,15 @@ }, "metadata": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "Standard object metadata" }, "spec": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionSpec", - "description": "spec describes how the user wants the resources to appear" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimSpec", + "description": "Spec describes what is being requested and how to configure it. The spec is immutable." }, "status": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionStatus", - "description": "status indicates the actual state of the CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimStatus", + "description": "Status describes whether the claim is ready to use and what has been allocated." } }, "required": [ @@ -14664,53 +14915,50 @@ "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } ] }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionCondition": { - "description": "CustomResourceDefinitionCondition contains details for the current condition of this pod.", + "io.k8s.api.resource.v1.ResourceClaimConsumerReference": { + "description": "ResourceClaimConsumerReference contains enough information to let you locate the consumer of a ResourceClaim. The user must be a resource in the same namespace as the ResourceClaim.", "properties": { - "lastTransitionTime": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", - "description": "lastTransitionTime last time the condition transitioned from one status to another." - }, - "message": { - "description": "message is a human-readable message indicating details about last transition.", + "apiGroup": { + "description": "APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.", "type": "string" }, - "reason": { - "description": "reason is a unique, one-word, CamelCase reason for the condition's last transition.", + "name": { + "description": "Name is the name of resource being referenced.", "type": "string" }, - "status": { - "description": "status is the status of the condition. Can be True, False, Unknown.", + "resource": { + "description": "Resource is the type of resource being referenced, for example \"pods\".", "type": "string" }, - "type": { - "description": "type is the type of the condition. Types include Established, NamesAccepted and Terminating.", + "uid": { + "description": "UID identifies exactly one incarnation of the resource.", "type": "string" } }, "required": [ - "type", - "status" + "resource", + "name", + "uid" ], "type": "object" }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionList": { - "description": "CustomResourceDefinitionList is a list of CustomResourceDefinition objects.", + "io.k8s.api.resource.v1.ResourceClaimList": { + "description": "ResourceClaimList is a collection of claims.", "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" }, "items": { - "description": "items list individual CustomResourceDefinition objects", + "description": "Items is the list of resource claims.", "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" }, "type": "array" }, @@ -14720,7 +14968,7 @@ }, "metadata": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "description": "Standard list metadata" } }, "required": [ @@ -14729,2022 +14977,1774 @@ "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinitionList", + "group": "resource.k8s.io", + "kind": "ResourceClaimList", "version": "v1" } ] }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionNames": { - "description": "CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition", + "io.k8s.api.resource.v1.ResourceClaimSpec": { + "description": "ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.", "properties": { - "categories": { - "description": "categories is a list of grouped resources this custom resource belongs to (e.g. 'all'). This is published in API discovery documents, and used by clients to support invocations like `kubectl get all`.", + "devices": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClaim", + "description": "Devices defines how to request devices." + } + }, + "type": "object" + }, + "io.k8s.api.resource.v1.ResourceClaimStatus": { + "description": "ResourceClaimStatus tracks whether the resource has been allocated and what the result of that was.", + "properties": { + "allocation": { + "$ref": "#/definitions/io.k8s.api.resource.v1.AllocationResult", + "description": "Allocation is set once the claim has been allocated successfully." + }, + "devices": { + "description": "Devices contains the status of each device allocated for this claim, as reported by the driver. This can include driver-specific information. Entries are owned by their respective drivers.", "items": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.resource.v1.AllocatedDeviceStatus" }, "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "kind": { - "description": "kind is the serialized kind of the resource. It is normally CamelCase and singular. Custom resource instances will use this value as the `kind` attribute in API calls.", - "type": "string" - }, - "listKind": { - "description": "listKind is the serialized kind of the list for this resource. Defaults to \"`kind`List\".", - "type": "string" - }, - "plural": { - "description": "plural is the plural name of the resource to serve. The custom resources are served under `/apis/\u003cgroup\u003e/\u003cversion\u003e/.../\u003cplural\u003e`. Must match the name of the CustomResourceDefinition (in the form `\u003cnames.plural\u003e.\u003cgroup\u003e`). Must be all lowercase.", - "type": "string" + "x-kubernetes-list-map-keys": [ + "driver", + "device", + "pool", + "shareID" + ], + "x-kubernetes-list-type": "map" }, - "shortNames": { - "description": "shortNames are short names for the resource, exposed in API discovery documents, and used by clients to support invocations like `kubectl get \u003cshortname\u003e`. It must be all lowercase.", + "reservedFor": { + "description": "ReservedFor indicates which entities are currently allowed to use the claim. A Pod which references a ResourceClaim which is not reserved for that Pod will not be started. A claim that is in use or might be in use because it has been reserved must not get deallocated.\n\nIn a cluster with multiple scheduler instances, two pods might get scheduled concurrently by different schedulers. When they reference the same ResourceClaim which already has reached its maximum number of consumers, only one pod can be scheduled.\n\nBoth schedulers try to add their pod to the claim.status.reservedFor field, but only the update that reaches the API server first gets stored. The other one fails with an error and the scheduler which issued it knows that it must put the pod back into the queue, waiting for the ResourceClaim to become usable again.\n\nThere can be at most 256 such reservations. This may get increased in the future, but not reduced.", "items": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimConsumerReference" }, "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "singular": { - "description": "singular is the singular name of the resource. It must be all lowercase. Defaults to lowercased `kind`.", - "type": "string" + "x-kubernetes-list-map-keys": [ + "uid" + ], + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "uid", + "x-kubernetes-patch-strategy": "merge" } }, - "required": [ - "plural", - "kind" - ], "type": "object" }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionSpec": { - "description": "CustomResourceDefinitionSpec describes how a user wants their resource to appear", + "io.k8s.api.resource.v1.ResourceClaimTemplate": { + "description": "ResourceClaimTemplate is used to produce ResourceClaim objects.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", "properties": { - "conversion": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceConversion", - "description": "conversion defines conversion settings for the CRD." - }, - "group": { - "description": "group is the API group of the defined custom resource. The custom resources are served under `/apis/\u003cgroup\u003e/...`. Must match the name of the CustomResourceDefinition (in the form `\u003cnames.plural\u003e.\u003cgroup\u003e`).", + "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" }, - "names": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionNames", - "description": "names specify the resource and kind names for the custom resource." - }, - "preserveUnknownFields": { - "description": "preserveUnknownFields indicates that object fields which are not specified in the OpenAPI schema should be preserved when persisting to storage. apiVersion, kind, metadata and known fields inside metadata are always preserved. This field is deprecated in favor of setting `x-preserve-unknown-fields` to true in `spec.versions[*].schema.openAPIV3Schema`. See https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#field-pruning for details.", - "type": "boolean" - }, - "scope": { - "description": "scope indicates whether the defined custom resource is cluster- or namespace-scoped. Allowed values are `Cluster` and `Namespaced`.", + "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" }, - "versions": { - "description": "versions is the list of all API versions of the defined custom resource. Version names are used to compute the order in which served versions are listed in API discovery. If the version string is \"kube-like\", it will sort above non \"kube-like\" version strings, which are ordered lexicographically. \"Kube-like\" versions start with a \"v\", then are followed by a number (the major version), then optionally the string \"alpha\" or \"beta\" and another number (the minor version). These are sorted first by GA \u003e beta \u003e alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.", - "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionVersion" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object metadata" + }, + "spec": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplateSpec", + "description": "Describes the ResourceClaim that is to be generated.\n\nThis field is immutable. A ResourceClaim will get created by the control plane for a Pod when needed and then not get updated anymore." } }, "required": [ - "group", - "names", - "scope", - "versions" + "spec" ], - "type": "object" + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", + "version": "v1" + } + ] }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionStatus": { - "description": "CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition", + "io.k8s.api.resource.v1.ResourceClaimTemplateList": { + "description": "ResourceClaimTemplateList is a collection of claim templates.", "properties": { - "acceptedNames": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionNames", - "description": "acceptedNames are the names that are actually being used to serve discovery. They may be different than the names in spec." + "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" }, - "conditions": { - "description": "conditions indicate state for particular aspects of a CustomResourceDefinition", + "items": { + "description": "Items is the list of resource claim templates.", "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionCondition" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" }, - "type": "array", - "x-kubernetes-list-map-keys": [ - "type" - ], - "x-kubernetes-list-type": "map" + "type": "array" }, - "storedVersions": { - "description": "storedVersions lists all versions of CustomResources that were ever persisted. Tracking these versions allows a migration path for stored versions in etcd. The field is mutable so a migration controller can finish a migration to another version (ensuring no old objects are left in storage), and then remove the rest of the versions from this list. Versions may not be removed from `spec.versions` while they exist in this list.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata" } }, - "type": "object" + "required": [ + "items" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplateList", + "version": "v1" + } + ] }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionVersion": { - "description": "CustomResourceDefinitionVersion describes a version for CRD.", + "io.k8s.api.resource.v1.ResourceClaimTemplateSpec": { + "description": "ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.", "properties": { - "additionalPrinterColumns": { - "description": "additionalPrinterColumns specifies additional columns returned in Table output. See https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables for details. If no columns are specified, a single column displaying the age of the custom resource is used.", - "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceColumnDefinition" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "deprecated": { - "description": "deprecated indicates this version of the custom resource API is deprecated. When set to true, API requests to this version receive a warning header in the server response. Defaults to false.", - "type": "boolean" - }, - "deprecationWarning": { - "description": "deprecationWarning overrides the default warning returned to API clients. May only be set when `deprecated` is true. The default warning indicates this version is deprecated and recommends use of the newest served version of equal or greater stability, if one exists.", - "type": "string" - }, - "name": { - "description": "name is the version name, e.g. “v1”, “v2beta1”, etc. The custom resources are served under this version at `/apis/\u003cgroup\u003e/\u003cversion\u003e/...` if `served` is true.", - "type": "string" - }, - "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceValidation", - "description": "schema describes the schema used for validation, pruning, and defaulting of this version of the custom resource." - }, - "selectableFields": { - "description": "selectableFields specifies paths to fields that may be used as field selectors. A maximum of 8 selectable fields are allowed. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors", - "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.SelectableField" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "served": { - "description": "served is a flag enabling/disabling this version from being served via REST APIs", - "type": "boolean" - }, - "storage": { - "description": "storage indicates this version should be used when persisting custom resources to storage. There must be exactly one version with storage=true.", - "type": "boolean" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "ObjectMeta may contain labels and annotations that will be copied into the ResourceClaim when creating it. No other fields are allowed and will be rejected during validation." }, - "subresources": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresources", - "description": "subresources specify what subresources this version of the defined custom resource have." + "spec": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimSpec", + "description": "Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here." } }, "required": [ - "name", - "served", - "storage" + "spec" ], "type": "object" }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresourceScale": { - "description": "CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources.", + "io.k8s.api.resource.v1.ResourcePool": { + "description": "ResourcePool describes the pool that ResourceSlices belong to.", "properties": { - "labelSelectorPath": { - "description": "labelSelectorPath defines the JSON path inside of a custom resource that corresponds to Scale `status.selector`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.status` or `.spec`. Must be set to work with HorizontalPodAutoscaler. The field pointed by this JSON path must be a string field (not a complex selector struct) which contains a serialized label selector in string form. More info: https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions#scale-subresource If there is no value under the given path in the custom resource, the `status.selector` value in the `/scale` subresource will default to the empty string.", - "type": "string" + "generation": { + "description": "Generation tracks the change in a pool over time. Whenever a driver changes something about one or more of the resources in a pool, it must change the generation in all ResourceSlices which are part of that pool. Consumers of ResourceSlices should only consider resources from the pool with the highest generation number. The generation may be reset by drivers, which should be fine for consumers, assuming that all ResourceSlices in a pool are updated to match or deleted.\n\nCombined with ResourceSliceCount, this mechanism enables consumers to detect pools which are comprised of multiple ResourceSlices and are in an incomplete state.", + "format": "int64", + "type": "integer" }, - "specReplicasPath": { - "description": "specReplicasPath defines the JSON path inside of a custom resource that corresponds to Scale `spec.replicas`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.spec`. If there is no value under the given path in the custom resource, the `/scale` subresource will return an error on GET.", + "name": { + "description": "Name is used to identify the pool. For node-local devices, this is often the node name, but this is not required.\n\nIt must not be longer than 253 characters and must consist of one or more DNS sub-domains separated by slashes. This field is immutable.", "type": "string" }, - "statusReplicasPath": { - "description": "statusReplicasPath defines the JSON path inside of a custom resource that corresponds to Scale `status.replicas`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.status`. If there is no value under the given path in the custom resource, the `status.replicas` value in the `/scale` subresource will default to 0.", - "type": "string" + "resourceSliceCount": { + "description": "ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.\n\nConsumers can use this to check whether they have seen all ResourceSlices belonging to the same pool.", + "format": "int64", + "type": "integer" } }, "required": [ - "specReplicasPath", - "statusReplicasPath" + "name", + "generation", + "resourceSliceCount" ], "type": "object" }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresourceStatus": { - "description": "CustomResourceSubresourceStatus defines how to serve the status subresource for CustomResources. Status is represented by the `.status` JSON path inside of a CustomResource. When set, * exposes a /status subresource for the custom resource * PUT requests to the /status subresource take a custom resource object, and ignore changes to anything except the status stanza * PUT/POST/PATCH requests to the custom resource ignore changes to the status stanza", - "type": "object" - }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresources": { - "description": "CustomResourceSubresources defines the status and scale subresources for CustomResources.", + "io.k8s.api.resource.v1.ResourceSlice": { + "description": "ResourceSlice represents one or more resources in a pool of similar resources, managed by a common driver. A pool may span more than one ResourceSlice, and exactly how many ResourceSlices comprise a pool is determined by the driver.\n\nAt the moment, the only supported resources are devices with attributes and capacities. Each device in a given pool, regardless of how many ResourceSlices, must have a unique name. The ResourceSlice in which a device gets published may change over time. The unique identifier for a device is the tuple \u003cdriver name\u003e, \u003cpool name\u003e, \u003cdevice name\u003e.\n\nWhenever a driver needs to update a pool, it increments the pool.Spec.Pool.Generation number and updates all ResourceSlices with that new number and new resource definitions. A consumer must only use ResourceSlices with the highest generation number and ignore all others.\n\nWhen allocating all resources in a pool matching certain criteria or when looking for the best solution among several different alternatives, a consumer should check the number of ResourceSlices in a pool (included in each ResourceSlice) to determine whether its view of a pool is complete and if not, should wait until the driver has completed updating the pool.\n\nFor resources that are not local to a node, the node name is not set. Instead, the driver may use a node selector to specify where the devices are available.\n\nThis is an alpha type and requires enabling the DynamicResourceAllocation feature gate.", "properties": { - "scale": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresourceScale", - "description": "scale indicates the custom resource should serve a `/scale` subresource that returns an `autoscaling/v1` Scale object." + "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" }, - "status": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresourceStatus", - "description": "status indicates the custom resource should serve a `/status` subresource. When enabled: 1. requests to the custom resource primary endpoint ignore changes to the `status` stanza of the object. 2. requests to the custom resource `/status` subresource ignore changes to anything other than the `status` stanza of the object." + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object metadata" + }, + "spec": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSliceSpec", + "description": "Contains the information published by the driver.\n\nChanging the spec automatically increments the metadata.generation number." } }, - "type": "object" - }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceValidation": { - "description": "CustomResourceValidation is a list of validation methods for CustomResources.", - "properties": { - "openAPIV3Schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps", - "description": "openAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning." + "required": [ + "spec" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "resource.k8s.io", + "kind": "ResourceSlice", + "version": "v1" } - }, - "type": "object" + ] }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ExternalDocumentation": { - "description": "ExternalDocumentation allows referencing an external resource for extended documentation.", + "io.k8s.api.resource.v1.ResourceSliceList": { + "description": "ResourceSliceList is a collection of ResourceSlices.", "properties": { - "description": { + "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" }, - "url": { + "items": { + "description": "Items is the list of resource ResourceSlices.", + "items": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" + }, + "type": "array" + }, + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata" } }, - "type": "object" - }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSON": { - "description": "JSON represents any valid JSON value. These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil." + "required": [ + "items" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "resource.k8s.io", + "kind": "ResourceSliceList", + "version": "v1" + } + ] }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps": { - "description": "JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).", + "io.k8s.api.resource.v1.ResourceSliceSpec": { + "description": "ResourceSliceSpec contains the information published by the driver in one ResourceSlice.", "properties": { - "$ref": { - "type": "string" - }, - "$schema": { - "type": "string" - }, - "additionalItems": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrBool" - }, - "additionalProperties": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrBool" + "allNodes": { + "description": "AllNodes indicates that all nodes have access to the resources in the pool.\n\nExactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.", + "type": "boolean" }, - "allOf": { + "devices": { + "description": "Devices lists some or all of the devices in this pool.\n\nMust not have more than 128 entries.", "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" + "$ref": "#/definitions/io.k8s.api.resource.v1.Device" }, "type": "array", "x-kubernetes-list-type": "atomic" }, - "anyOf": { - "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "driver": { + "description": "Driver identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.\n\nMust be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver. This field is immutable.", + "type": "string" }, - "default": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSON", - "description": "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false." + "nodeName": { + "description": "NodeName identifies the node which provides the resources in this pool. A field selector can be used to list only ResourceSlice objects belonging to a certain node.\n\nThis field can be used to limit access from nodes to ResourceSlices with the same node name. It also indicates to autoscalers that adding new nodes of the same type as some old node might also make new resources available.\n\nExactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.", + "type": "string" }, - "definitions": { - "additionalProperties": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" - }, - "type": "object" + "nodeSelector": { + "$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector", + "description": "NodeSelector defines which nodes have access to the resources in the pool, when that pool is not limited to a single node.\n\nMust use exactly one term.\n\nExactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set." }, - "dependencies": { - "additionalProperties": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrStringArray" - }, - "type": "object" + "perDeviceNodeSelection": { + "description": "PerDeviceNodeSelection defines whether the access from nodes to resources in the pool is set on the ResourceSlice level or on each device. If it is set to true, every device defined the ResourceSlice must specify this individually.\n\nExactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.", + "type": "boolean" }, - "description": { - "type": "string" + "pool": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourcePool", + "description": "Pool describes the pool that this ResourceSlice belongs to." }, - "enum": { + "sharedCounters": { + "description": "SharedCounters defines a list of counter sets, each of which has a name and a list of counters available.\n\nThe names of the SharedCounters must be unique in the ResourceSlice.\n\nThe maximum number of counters in all sets is 32.", "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSON" + "$ref": "#/definitions/io.k8s.api.resource.v1.CounterSet" }, "type": "array", "x-kubernetes-list-type": "atomic" + } + }, + "required": [ + "driver", + "pool" + ], + "type": "object" + }, + "io.k8s.api.scheduling.v1.PriorityClass": { + "description": "PriorityClass defines mapping from a priority class name to the priority integer value. The value can be any valid integer.", + "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" }, - "example": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSON" + "description": { + "description": "description is an arbitrary string that usually provides guidelines on when this priority class should be used.", + "type": "string" }, - "exclusiveMaximum": { + "globalDefault": { + "description": "globalDefault specifies whether this PriorityClass should be considered as the default priority for pods that do not have any priority class. Only one PriorityClass can be marked as `globalDefault`. However, if more than one PriorityClasses exists with their `globalDefault` field set to true, the smallest value of such global default PriorityClasses will be used as the default priority.", "type": "boolean" }, - "exclusiveMinimum": { - "type": "boolean" + "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" }, - "externalDocs": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ExternalDocumentation" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" }, - "format": { - "description": "format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:\n\n- bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like \"0321751043\" or \"978-0321751041\" - isbn10: an ISBN10 number string like \"0321751043\" - isbn13: an ISBN13 number string like \"978-0321751041\" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$ - hexcolor: an hexadecimal color code like \"#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like \"rgb(255,255,2559\" - byte: base64 encoded binary data - password: any kind of string - date: a date string like \"2006-01-02\" as defined by full-date in RFC3339 - duration: a duration string like \"22 ns\" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like \"2014-12-15T19:30:20.000Z\" as defined by date-time in RFC3339.", + "preemptionPolicy": { + "description": "preemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.\n\nPossible enum values:\n - `\"Never\"` means that pod never preempts other pods with lower priority.\n - `\"PreemptLowerPriority\"` means that pod can preempt other pods with lower priority.", + "enum": [ + "Never", + "PreemptLowerPriority" + ], "type": "string" }, - "id": { + "value": { + "description": "value represents the integer value of this priority class. This is the actual priority that pods receive when they have the name of this class in their pod spec.", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "value" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "scheduling.k8s.io", + "kind": "PriorityClass", + "version": "v1" + } + ] + }, + "io.k8s.api.scheduling.v1.PriorityClassList": { + "description": "PriorityClassList is a collection of priority classes.", + "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" }, "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrArray" - }, - "maxItems": { - "format": "int64", - "type": "integer" - }, - "maxLength": { - "format": "int64", - "type": "integer" - }, - "maxProperties": { - "format": "int64", - "type": "integer" - }, - "maximum": { - "format": "double", - "type": "number" - }, - "minItems": { - "format": "int64", - "type": "integer" - }, - "minLength": { - "format": "int64", - "type": "integer" + "description": "items is the list of PriorityClasses", + "items": { + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + }, + "type": "array" }, - "minProperties": { - "format": "int64", - "type": "integer" + "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" }, - "minimum": { - "format": "double", - "type": "number" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + } + }, + "required": [ + "items" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "scheduling.k8s.io", + "kind": "PriorityClassList", + "version": "v1" + } + ] + }, + "io.k8s.api.storage.v1.CSIDriver": { + "description": "CSIDriver captures information about a Container Storage Interface (CSI) volume driver deployed on the cluster. Kubernetes attach detach controller uses this object to determine whether attach is required. Kubelet uses this object to determine whether pod information needs to be passed on mount. CSIDriver objects are non-namespaced.", + "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" }, - "multipleOf": { - "format": "double", - "type": "number" + "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" }, - "not": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object metadata. metadata.Name indicates the name of the CSI driver that this object refers to; it MUST be the same name returned by the CSI GetPluginName() call for that driver. The driver name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and alphanumerics between. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" }, - "nullable": { - "type": "boolean" + "spec": { + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriverSpec", + "description": "spec represents the specification of the CSI Driver." + } + }, + "required": [ + "spec" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "storage.k8s.io", + "kind": "CSIDriver", + "version": "v1" + } + ] + }, + "io.k8s.api.storage.v1.CSIDriverList": { + "description": "CSIDriverList is a collection of CSIDriver objects.", + "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" }, - "oneOf": { + "items": { + "description": "items is the list of CSIDriver", "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "type": "array" }, - "pattern": { + "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" }, - "patternProperties": { - "additionalProperties": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" - }, - "type": "object" - }, - "properties": { - "additionalProperties": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" - }, - "type": "object" - }, - "required": { - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + } + }, + "required": [ + "items" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "storage.k8s.io", + "kind": "CSIDriverList", + "version": "v1" + } + ] + }, + "io.k8s.api.storage.v1.CSIDriverSpec": { + "description": "CSIDriverSpec is the specification of a CSIDriver.", + "properties": { + "attachRequired": { + "description": "attachRequired indicates this CSI volume driver requires an attach operation (because it implements the CSI ControllerPublishVolume() method), and that the Kubernetes attach detach controller should call the attach volume interface which checks the volumeattachment status and waits until the volume is attached before proceeding to mounting. The CSI external-attacher coordinates with CSI volume driver and updates the volumeattachment status when the attach operation is complete. If the value is specified to false, the attach operation will be skipped. Otherwise the attach operation will be called.\n\nThis field is immutable.", + "type": "boolean" }, - "title": { + "fsGroupPolicy": { + "description": "fsGroupPolicy defines if the underlying volume supports changing ownership and permission of the volume before being mounted. Refer to the specific FSGroupPolicy values for additional details.\n\nThis field was immutable in Kubernetes \u003c 1.29 and now is mutable.\n\nDefaults to ReadWriteOnceWithFSType, which will examine each volume to determine if Kubernetes should modify ownership and permissions of the volume. With the default policy the defined fsGroup will only be applied if a fstype is defined and the volume's access mode contains ReadWriteOnce.", "type": "string" }, - "type": { - "type": "string" + "nodeAllocatableUpdatePeriodSeconds": { + "description": "nodeAllocatableUpdatePeriodSeconds specifies the interval between periodic updates of the CSINode allocatable capacity for this driver. When set, both periodic updates and updates triggered by capacity-related failures are enabled. If not set, no updates occur (neither periodic nor upon detecting capacity-related failures), and the allocatable.count remains static. The minimum allowed value for this field is 10 seconds.\n\nThis is a beta feature and requires the MutableCSINodeAllocatableCount feature gate to be enabled.\n\nThis field is mutable.", + "format": "int64", + "type": "integer" }, - "uniqueItems": { + "podInfoOnMount": { + "description": "podInfoOnMount indicates this CSI volume driver requires additional pod information (like podName, podUID, etc.) during mount operations, if set to true. If set to false, pod information will not be passed on mount. Default is false.\n\nThe CSI driver specifies podInfoOnMount as part of driver deployment. If true, Kubelet will pass pod information as VolumeContext in the CSI NodePublishVolume() calls. The CSI driver is responsible for parsing and validating the information passed in as VolumeContext.\n\nThe following VolumeContext will be passed if podInfoOnMount is set to true. This list might grow, but the prefix will be used. \"csi.storage.k8s.io/pod.name\": pod.Name \"csi.storage.k8s.io/pod.namespace\": pod.Namespace \"csi.storage.k8s.io/pod.uid\": string(pod.UID) \"csi.storage.k8s.io/ephemeral\": \"true\" if the volume is an ephemeral inline volume\n defined by a CSIVolumeSource, otherwise \"false\"\n\n\"csi.storage.k8s.io/ephemeral\" is a new feature in Kubernetes 1.16. It is only required for drivers which support both the \"Persistent\" and \"Ephemeral\" VolumeLifecycleMode. Other drivers can leave pod info disabled and/or ignore this field. As Kubernetes 1.15 doesn't support this field, drivers can only support one mode when deployed on such a cluster and the deployment determines which mode that is, for example via a command line parameter of the driver.\n\nThis field was immutable in Kubernetes \u003c 1.29 and now is mutable.", "type": "boolean" }, - "x-kubernetes-embedded-resource": { - "description": "x-kubernetes-embedded-resource defines that the value is an embedded Kubernetes runtime.Object, with TypeMeta and ObjectMeta. The type must be object. It is allowed to further restrict the embedded object. kind, apiVersion and metadata are validated automatically. x-kubernetes-preserve-unknown-fields is allowed to be true, but does not have to be if the object is fully specified (up to kind, apiVersion, metadata).", + "requiresRepublish": { + "description": "requiresRepublish indicates the CSI driver wants `NodePublishVolume` being periodically called to reflect any possible change in the mounted volume. This field defaults to false.\n\nNote: After a successful initial NodePublishVolume call, subsequent calls to NodePublishVolume should only update the contents of the volume. New mount points will not be seen by a running container.", "type": "boolean" }, - "x-kubernetes-int-or-string": { - "description": "x-kubernetes-int-or-string specifies that this value is either an integer or a string. If this is true, an empty type is allowed and type as child of anyOf is permitted if following one of the following patterns:\n\n1) anyOf:\n - type: integer\n - type: string\n2) allOf:\n - anyOf:\n - type: integer\n - type: string\n - ... zero or more", + "seLinuxMount": { + "description": "seLinuxMount specifies if the CSI driver supports \"-o context\" mount option.\n\nWhen \"true\", the CSI driver must ensure that all volumes provided by this CSI driver can be mounted separately with different `-o context` options. This is typical for storage backends that provide volumes as filesystems on block devices or as independent shared volumes. Kubernetes will call NodeStage / NodePublish with \"-o context=xyz\" mount option when mounting a ReadWriteOncePod volume used in Pod that has explicitly set SELinux context. In the future, it may be expanded to other volume AccessModes. In any case, Kubernetes will ensure that the volume is mounted only with a single SELinux context.\n\nWhen \"false\", Kubernetes won't pass any special SELinux mount options to the driver. This is typical for volumes that represent subdirectories of a bigger shared filesystem.\n\nDefault is \"false\".", "type": "boolean" }, - "x-kubernetes-list-map-keys": { - "description": "x-kubernetes-list-map-keys annotates an array with the x-kubernetes-list-type `map` by specifying the keys used as the index of the map.\n\nThis tag MUST only be used on lists that have the \"x-kubernetes-list-type\" extension set to \"map\". Also, the values specified for this attribute must be a scalar typed field of the child structure (no nesting is supported).\n\nThe properties specified must either be required or have a default value, to ensure those properties are present for all list items.", + "storageCapacity": { + "description": "storageCapacity indicates that the CSI volume driver wants pod scheduling to consider the storage capacity that the driver deployment will report by creating CSIStorageCapacity objects with capacity information, if set to true.\n\nThe check can be enabled immediately when deploying a driver. In that case, provisioning new volumes with late binding will pause until the driver deployment has published some suitable CSIStorageCapacity object.\n\nAlternatively, the driver can be deployed with the field unset or false and it can be flipped later when storage capacity information has been published.\n\nThis field was immutable in Kubernetes \u003c= 1.22 and now is mutable.", + "type": "boolean" + }, + "tokenRequests": { + "description": "tokenRequests indicates the CSI driver needs pods' service account tokens it is mounting volume for to do necessary authentication. Kubelet will pass the tokens in VolumeContext in the CSI NodePublishVolume calls. The CSI driver should parse and validate the following VolumeContext: \"csi.storage.k8s.io/serviceAccount.tokens\": {\n \"\u003caudience\u003e\": {\n \"token\": \u003ctoken\u003e,\n \"expirationTimestamp\": \u003cexpiration timestamp in RFC3339\u003e,\n },\n ...\n}\n\nNote: Audience in each TokenRequest should be different and at most one token is empty string. To receive a new token after expiry, RequiresRepublish can be used to trigger NodePublishVolume periodically.", "items": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.storage.v1.TokenRequest" }, "type": "array", "x-kubernetes-list-type": "atomic" }, - "x-kubernetes-list-type": { - "description": "x-kubernetes-list-type annotates an array to further describe its topology. This extension must only be used on lists and may have 3 possible values:\n\n1) `atomic`: the list is treated as a single entity, like a scalar.\n Atomic lists will be entirely replaced when updated. This extension\n may be used on any type of list (struct, scalar, ...).\n2) `set`:\n Sets are lists that must not have multiple items with the same value. Each\n value must be a scalar, an object with x-kubernetes-map-type `atomic` or an\n array with x-kubernetes-list-type `atomic`.\n3) `map`:\n These lists are like maps in that their elements have a non-index key\n used to identify them. Order is preserved upon merge. The map tag\n must only be used on a list with elements of type object.\nDefaults to atomic for arrays.", - "type": "string" - }, - "x-kubernetes-map-type": { - "description": "x-kubernetes-map-type annotates an object to further describe its topology. This extension must only be used when type is object and may have 2 possible values:\n\n1) `granular`:\n These maps are actual maps (key-value pairs) and each fields are independent\n from each other (they can each be manipulated by separate actors). This is\n the default behaviour for all maps.\n2) `atomic`: the list is treated as a single entity, like a scalar.\n Atomic maps will be entirely replaced when updated.", - "type": "string" - }, - "x-kubernetes-preserve-unknown-fields": { - "description": "x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields which are not specified in the validation schema. This affects fields recursively, but switches back to normal pruning behaviour if nested properties or additionalProperties are specified in the schema. This can either be true or undefined. False is forbidden.", - "type": "boolean" - }, - "x-kubernetes-validations": { - "description": "x-kubernetes-validations describes a list of validation rules written in the CEL expression language.", + "volumeLifecycleModes": { + "description": "volumeLifecycleModes defines what kind of volumes this CSI volume driver supports. The default if the list is empty is \"Persistent\", which is the usage defined by the CSI specification and implemented in Kubernetes via the usual PV/PVC mechanism.\n\nThe other mode is \"Ephemeral\". In this mode, volumes are defined inline inside the pod spec with CSIVolumeSource and their lifecycle is tied to the lifecycle of that pod. A driver has to be aware of this because it is only going to get a NodePublishVolume call for such a volume.\n\nFor more information about implementing this mode, see https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html A driver can support one or more of these modes and more modes may be added in the future.\n\nThis field is beta. This field is immutable.", "items": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ValidationRule" + "type": "string" }, "type": "array", - "x-kubernetes-list-map-keys": [ - "rule" - ], - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "rule", - "x-kubernetes-patch-strategy": "merge" + "x-kubernetes-list-type": "set" } }, "type": "object" }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrArray": { - "description": "JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization purposes." - }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrBool": { - "description": "JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. Defaults to true for the boolean property." - }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrStringArray": { - "description": "JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array." - }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.SelectableField": { - "description": "SelectableField specifies the JSON path of a field that may be used with field selectors.", - "properties": { - "jsonPath": { - "description": "jsonPath is a simple JSON path which is evaluated against each custom resource to produce a field selector value. Only JSON paths without the array notation are allowed. Must point to a field of type string, boolean or integer. Types with enum values and strings with formats are allowed. If jsonPath refers to absent field in a resource, the jsonPath evaluates to an empty string. Must not point to metdata fields. Required.", - "type": "string" - } - }, - "required": [ - "jsonPath" - ], - "type": "object" - }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ServiceReference": { - "description": "ServiceReference holds a reference to Service.legacy.k8s.io", + "io.k8s.api.storage.v1.CSINode": { + "description": "CSINode holds information about all CSI drivers installed on a node. CSI drivers do not need to create the CSINode object directly. As long as they use the node-driver-registrar sidecar container, the kubelet will automatically populate the CSINode object for the CSI driver as part of kubelet plugin registration. CSINode has the same name as a node. If the object is missing, it means either there are no CSI Drivers available on the node, or the Kubelet version is low enough that it doesn't create this object. CSINode has an OwnerReference that points to the corresponding node object.", "properties": { - "name": { - "description": "name is the name of the service. Required", + "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" }, - "namespace": { - "description": "namespace is the namespace of the service. Required", + "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" }, - "path": { - "description": "path is an optional URL path at which the webhook will be contacted.", - "type": "string" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata. metadata.name must be the Kubernetes node name." }, - "port": { - "description": "port is an optional service port at which the webhook will be contacted. `port` should be a valid port number (1-65535, inclusive). Defaults to 443 for backward compatibility.", - "format": "int32", - "type": "integer" + "spec": { + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINodeSpec", + "description": "spec is the specification of CSINode" } }, "required": [ - "namespace", - "name" + "spec" ], - "type": "object" + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "storage.k8s.io", + "kind": "CSINode", + "version": "v1" + } + ] }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ValidationRule": { - "description": "ValidationRule describes a validation rule written in the CEL expression language.", + "io.k8s.api.storage.v1.CSINodeDriver": { + "description": "CSINodeDriver holds information about the specification of one CSI driver installed on a node", "properties": { - "fieldPath": { - "description": "fieldPath represents the field path returned when the validation fails. It must be a relative JSON path (i.e. with array notation) scoped to the location of this x-kubernetes-validations extension in the schema and refer to an existing field. e.g. when validation checks if a specific attribute `foo` under a map `testMap`, the fieldPath could be set to `.testMap.foo` If the validation checks two lists must have unique attributes, the fieldPath could be set to either of the list: e.g. `.testList` It does not support list numeric index. It supports child operation to refer to an existing field currently. Refer to [JSONPath support in Kubernetes](https://kubernetes.io/docs/reference/kubectl/jsonpath/) for more info. Numeric index of array is not supported. For field name which contains special characters, use `['specialName']` to refer the field name. e.g. for attribute `foo.34$` appears in a list `testList`, the fieldPath could be set to `.testList['foo.34$']`", - "type": "string" - }, - "message": { - "description": "Message represents the message displayed when validation fails. The message is required if the Rule contains line breaks. The message must not contain line breaks. If unset, the message is \"failed rule: {Rule}\". e.g. \"must be a URL with the host matching spec.host\"", - "type": "string" + "allocatable": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeNodeResources", + "description": "allocatable represents the volume resources of a node that are available for scheduling. This field is beta." }, - "messageExpression": { - "description": "MessageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. Since messageExpression is used as a failure message, it must evaluate to a string. If both message and messageExpression are present on a rule, then messageExpression will be used if validation fails. If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. messageExpression has access to all the same variables as the rule; the only difference is the return type. Example: \"x must be less than max (\"+string(self.max)+\")\"", + "name": { + "description": "name represents the name of the CSI driver that this object refers to. This MUST be the same name returned by the CSI GetPluginName() call for that driver.", "type": "string" }, - "optionalOldSelf": { - "description": "optionalOldSelf is used to opt a transition rule into evaluation even when the object is first created, or if the old object is missing the value.\n\nWhen enabled `oldSelf` will be a CEL optional whose value will be `None` if there is no old value, or when the object is initially created.\n\nYou may check for presence of oldSelf using `oldSelf.hasValue()` and unwrap it after checking using `oldSelf.value()`. Check the CEL documentation for Optional types for more information: https://pkg.go.dev/github.com/google/cel-go/cel#OptionalTypes\n\nMay not be set unless `oldSelf` is used in `rule`.", - "type": "boolean" - }, - "reason": { - "description": "reason provides a machine-readable validation failure reason that is returned to the caller when a request fails this validation rule. The HTTP status code returned to the caller will match the reason of the reason of the first failed validation rule. The currently supported reasons are: \"FieldValueInvalid\", \"FieldValueForbidden\", \"FieldValueRequired\", \"FieldValueDuplicate\". If not set, default to use \"FieldValueInvalid\". All future added reasons must be accepted by clients when reading this value and unknown reasons should be treated as FieldValueInvalid.\n\nPossible enum values:\n - `\"FieldValueDuplicate\"` is used to report collisions of values that must be unique (e.g. unique IDs).\n - `\"FieldValueForbidden\"` is used to report valid (as per formatting rules) values which would be accepted under some conditions, but which are not permitted by the current conditions (such as security policy).\n - `\"FieldValueInvalid\"` is used to report malformed values (e.g. failed regex match, too long, out of bounds).\n - `\"FieldValueRequired\"` is used to report required values that are not provided (e.g. empty strings, null values, or empty arrays).", - "enum": [ - "FieldValueDuplicate", - "FieldValueForbidden", - "FieldValueInvalid", - "FieldValueRequired" - ], + "nodeID": { + "description": "nodeID of the node from the driver point of view. This field enables Kubernetes to communicate with storage systems that do not share the same nomenclature for nodes. For example, Kubernetes may refer to a given node as \"node1\", but the storage system may refer to the same node as \"nodeA\". When Kubernetes issues a command to the storage system to attach a volume to a specific node, it can use this field to refer to the node name using the ID that the storage system will understand, e.g. \"nodeA\" instead of \"node1\". This field is required.", "type": "string" }, - "rule": { - "description": "Rule represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec The Rule is scoped to the location of the x-kubernetes-validations extension in the schema. The `self` variable in the CEL expression is bound to the scoped value. Example: - Rule scoped to the root of a resource with a status subresource: {\"rule\": \"self.status.actual \u003c= self.spec.maxDesired\"}\n\nIf the Rule is scoped to an object with properties, the accessible properties of the object are field selectable via `self.field` and field presence can be checked via `has(self.field)`. Null valued fields are treated as absent fields in CEL expressions. If the Rule is scoped to an object with additionalProperties (i.e. a map) the value of the map are accessible via `self[mapKey]`, map containment can be checked via `mapKey in self` and all entries of the map are accessible via CEL macros and functions such as `self.all(...)`. If the Rule is scoped to an array, the elements of the array are accessible via `self[i]` and also by macros and functions. If the Rule is scoped to a scalar, `self` is bound to the scalar value. Examples: - Rule scoped to a map of objects: {\"rule\": \"self.components['Widget'].priority \u003c 10\"} - Rule scoped to a list of integers: {\"rule\": \"self.values.all(value, value \u003e= 0 \u0026\u0026 value \u003c 100)\"} - Rule scoped to a string value: {\"rule\": \"self.startsWith('kube')\"}\n\nThe `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object and from any x-kubernetes-embedded-resource annotated objects. No other metadata properties are accessible.\n\nUnknown data preserved in custom resources via x-kubernetes-preserve-unknown-fields is not accessible in CEL expressions. This includes: - Unknown field values that are preserved by object schemas with x-kubernetes-preserve-unknown-fields. - Object properties where the property schema is of an \"unknown type\". An \"unknown type\" is recursively defined as:\n - A schema with no type and x-kubernetes-preserve-unknown-fields set to true\n - An array where the items schema is of an \"unknown type\"\n - An object where the additionalProperties schema is of an \"unknown type\"\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", \"const\", \"continue\", \"else\", \"for\", \"function\", \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", \"return\".\nExamples:\n - Rule accessing a property named \"namespace\": {\"rule\": \"self.__namespace__ \u003e 0\"}\n - Rule accessing a property named \"x-prop\": {\"rule\": \"self.x__dash__prop \u003e 0\"}\n - Rule accessing a property named \"redact__d\": {\"rule\": \"self.redact__underscores__d \u003e 0\"}\n\nEquality on arrays with x-kubernetes-list-type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:\n - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and\n non-intersecting elements in `Y` are appended, retaining their partial order.\n - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values\n are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with\n non-intersecting keys are appended, retaining their partial order.\n\nIf `rule` makes use of the `oldSelf` variable it is implicitly a `transition rule`.\n\nBy default, the `oldSelf` variable is the same type as `self`. When `optionalOldSelf` is true, the `oldSelf` variable is a CEL optional\n variable whose value() is the same type as `self`.\nSee the documentation for the `optionalOldSelf` field for details.\n\nTransition rules by default are applied only on UPDATE requests and are skipped if an old value could not be found. You can opt a transition rule into unconditional evaluation by setting `optionalOldSelf` to true.", - "type": "string" + "topologyKeys": { + "description": "topologyKeys is the list of keys supported by the driver. When a driver is initialized on a cluster, it provides a set of topology keys that it understands (e.g. \"company.com/zone\", \"company.com/region\"). When a driver is initialized on a node, it provides the same topology keys along with values. Kubelet will expose these topology keys as labels on its own node object. When Kubernetes does topology aware provisioning, it can use this list to determine which labels it should retrieve from the node object and pass back to the driver. It is possible for different nodes to use different topology keys. This can be empty if driver does not support topology.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } }, "required": [ - "rule" + "name", + "nodeID" ], "type": "object" }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.WebhookClientConfig": { - "description": "WebhookClientConfig contains the information to make a TLS connection with the webhook.", + "io.k8s.api.storage.v1.CSINodeList": { + "description": "CSINodeList is a collection of CSINode objects.", "properties": { - "caBundle": { - "description": "caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.", - "format": "byte", + "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" }, - "service": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ServiceReference", - "description": "service is a reference to the service for this webhook. Either service or url must be specified.\n\nIf the webhook is running within the cluster, then you should use `service`." + "items": { + "description": "items is the list of CSINode", + "items": { + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + }, + "type": "array" }, - "url": { - "description": "url gives the location of the webhook, in standard URL form (`scheme://host:port/path`). Exactly one of `url` or `service` must be specified.\n\nThe `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address.\n\nPlease note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.\n\nThe scheme must be \"https\"; the URL must begin with \"https://\".\n\nA path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.\n\nAttempting to use a user or basic auth e.g. \"user:password@\" is not allowed. Fragments (\"#...\") and query parameters (\"?...\") are not allowed, either.", + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" } }, - "type": "object" + "required": [ + "items" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "storage.k8s.io", + "kind": "CSINodeList", + "version": "v1" + } + ] }, - "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.WebhookConversion": { - "description": "WebhookConversion describes how to call a conversion webhook", + "io.k8s.api.storage.v1.CSINodeSpec": { + "description": "CSINodeSpec holds information about the specification of all CSI drivers installed on a node", "properties": { - "clientConfig": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.WebhookClientConfig", - "description": "clientConfig is the instructions for how to call the webhook if strategy is `Webhook`." - }, - "conversionReviewVersions": { - "description": "conversionReviewVersions is an ordered list of preferred `ConversionReview` versions the Webhook expects. The API server will use the first version in the list which it supports. If none of the versions specified in this list are supported by API server, conversion will fail for the custom resource. If a persisted Webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail.", + "drivers": { + "description": "drivers is a list of information of all CSI Drivers existing on a node. If all drivers in the list are uninstalled, this can become empty.", "items": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINodeDriver" }, "type": "array", - "x-kubernetes-list-type": "atomic" + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge" } }, "required": [ - "conversionReviewVersions" + "drivers" ], "type": "object" }, - "io.k8s.apimachinery.pkg.api.resource.Quantity": { - "description": "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n``` \u003cquantity\u003e ::= \u003csignedNumber\u003e\u003csuffix\u003e\n\n\t(Note that \u003csuffix\u003e may be empty, from the \"\" case in \u003cdecimalSI\u003e.)\n\n\u003cdigit\u003e ::= 0 | 1 | ... | 9 \u003cdigits\u003e ::= \u003cdigit\u003e | \u003cdigit\u003e\u003cdigits\u003e \u003cnumber\u003e ::= \u003cdigits\u003e | \u003cdigits\u003e.\u003cdigits\u003e | \u003cdigits\u003e. | .\u003cdigits\u003e \u003csign\u003e ::= \"+\" | \"-\" \u003csignedNumber\u003e ::= \u003cnumber\u003e | \u003csign\u003e\u003cnumber\u003e \u003csuffix\u003e ::= \u003cbinarySI\u003e | \u003cdecimalExponent\u003e | \u003cdecimalSI\u003e \u003cbinarySI\u003e ::= Ki | Mi | Gi | Ti | Pi | Ei\n\n\t(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\n\u003cdecimalSI\u003e ::= m | \"\" | k | M | G | T | P | E\n\n\t(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\n\u003cdecimalExponent\u003e ::= \"e\" \u003csignedNumber\u003e | \"E\" \u003csignedNumber\u003e ```\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n\n- No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.\n\nThe sign will be omitted unless the number is negative.\n\nExamples:\n\n- 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.", - "type": "string" - }, - "io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup": { - "description": "APIGroup contains the name, the supported versions, and the preferred version of a group.", + "io.k8s.api.storage.v1.CSIStorageCapacity": { + "description": "CSIStorageCapacity stores the result of one CSI GetCapacity call. For a given StorageClass, this describes the available capacity in a particular topology segment. This can be used when considering where to instantiate new PersistentVolumes.\n\nFor example this can express things like: - StorageClass \"standard\" has \"1234 GiB\" available in \"topology.kubernetes.io/zone=us-east1\" - StorageClass \"localssd\" has \"10 GiB\" available in \"kubernetes.io/hostname=knode-abc123\"\n\nThe following three cases all imply that no capacity is available for a certain combination: - no object exists with suitable topology and storage class name - such an object exists, but the capacity is unset - such an object exists, but the capacity is zero\n\nThe producer of these objects can decide which approach is more suitable.\n\nThey are consumed by the kube-scheduler when a CSI driver opts into capacity-aware scheduling with CSIDriverSpec.StorageCapacity. The scheduler compares the MaximumVolumeSize against the requested size of pending volumes to filter out unsuitable nodes. If MaximumVolumeSize is unset, it falls back to a comparison against the less precise Capacity. If that is also unset, the scheduler assumes that capacity is insufficient and tries some other node.", "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" }, + "capacity": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", + "description": "capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThe semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable." + }, "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" }, - "name": { - "description": "name is the name of the group.", - "type": "string" + "maximumVolumeSize": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", + "description": "maximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.\n\nThis is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim." }, - "preferredVersion": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", - "description": "preferredVersion is the version preferred by the API server, which probably is the storage version." + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata. The name has no particular meaning. It must be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-\u003cuuid\u003e, a generated name, or a reverse-domain name which ends with the unique CSI driver name.\n\nObjects are namespaced.\n\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" }, - "serverAddressByClientCIDRs": { - "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", - "items": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "nodeTopology": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector", + "description": "nodeTopology defines which nodes have access to the storage for which capacity was reported. If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable." }, - "versions": { - "description": "versions are the versions supported in this group.", - "items": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "storageClassName": { + "description": "storageClassName represents the name of the StorageClass that the reported capacity applies to. It must meet the same requirements as the name of a StorageClass object (non-empty, DNS subdomain). If that object no longer exists, the CSIStorageCapacity object is obsolete and should be removed by its creator. This field is immutable.", + "type": "string" } }, "required": [ - "name", - "versions" + "storageClassName" ], "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "", - "kind": "APIGroup", + "group": "storage.k8s.io", + "kind": "CSIStorageCapacity", "version": "v1" } ] }, - "io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList": { - "description": "APIGroupList is a list of APIGroup, to allow clients to discover the API at /apis.", + "io.k8s.api.storage.v1.CSIStorageCapacityList": { + "description": "CSIStorageCapacityList is a collection of CSIStorageCapacity objects.", "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" }, - "groups": { - "description": "groups is a list of APIGroup.", + "items": { + "description": "items is the list of CSIStorageCapacity objects.", "items": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "type": "array" }, "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" } }, "required": [ - "groups" + "items" ], "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "", - "kind": "APIGroupList", + "group": "storage.k8s.io", + "kind": "CSIStorageCapacityList", "version": "v1" } ] }, - "io.k8s.apimachinery.pkg.apis.meta.v1.APIResource": { - "description": "APIResource specifies the name of a resource and whether it is namespaced.", + "io.k8s.api.storage.v1.StorageClass": { + "description": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.", "properties": { - "categories": { - "description": "categories is a list of the grouped resources this resource belongs to (e.g. 'all')", + "allowVolumeExpansion": { + "description": "allowVolumeExpansion shows whether the storage class allow volume expand.", + "type": "boolean" + }, + "allowedTopologies": { + "description": "allowedTopologies restrict the node topologies where volumes can be dynamically provisioned. Each volume plugin defines its own supported topology specifications. An empty TopologySelectorTerm list means there is no topology restriction. This field is only honored by servers that enable the VolumeScheduling feature.", "items": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.TopologySelectorTerm" }, "type": "array", "x-kubernetes-list-type": "atomic" }, - "group": { - "description": "group is the preferred group of the resource. Empty implies the group of the containing resource list. For subresources, this may have a different value, for example: Scale\".", + "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" }, "kind": { - "description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')", - "type": "string" - }, - "name": { - "description": "name is the plural name of the resource.", + "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" }, - "namespaced": { - "description": "namespaced indicates if a resource is namespaced or not.", - "type": "boolean" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" }, - "shortNames": { - "description": "shortNames is a list of suggested short names of the resource.", + "mountOptions": { + "description": "mountOptions controls the mountOptions for dynamically provisioned PersistentVolumes of this storage class. e.g. [\"ro\", \"soft\"]. Not validated - mount of the PVs will simply fail if one is invalid.", "items": { "type": "string" }, "type": "array", "x-kubernetes-list-type": "atomic" }, - "singularName": { - "description": "singularName is the singular name of the resource. This allows clients to handle plural and singular opaquely. The singularName is more correct for reporting status on a single item and both singular and plural are allowed from the kubectl CLI interface.", - "type": "string" - }, - "storageVersionHash": { - "description": "The hash value of the storage version, the version this resource is converted to when written to the data store. Value must be treated as opaque by clients. Only equality comparison on the value is valid. This is an alpha feature and may change or be removed in the future. The field is populated by the apiserver only if the StorageVersionHash feature gate is enabled. This field will remain optional even if it graduates.", - "type": "string" - }, - "verbs": { - "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)", - "items": { + "parameters": { + "additionalProperties": { "type": "string" }, - "type": "array" + "description": "parameters holds the parameters for the provisioner that should create volumes of this storage class.", + "type": "object" }, - "version": { - "description": "version is the preferred version of the resource. Empty implies the version of the containing resource list For subresources, this may have a different value, for example: v1 (while inside a v1beta1 version of the core resource's group)\".", - "type": "string" - } - }, - "required": [ - "name", - "singularName", - "namespaced", - "kind", - "verbs" - ], - "type": "object" - }, - "io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList": { - "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", - "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", + "provisioner": { + "description": "provisioner indicates the type of the provisioner.", "type": "string" }, - "groupVersion": { - "description": "groupVersion is the group and version this APIResourceList is for.", + "reclaimPolicy": { + "description": "reclaimPolicy controls the reclaimPolicy for dynamically provisioned PersistentVolumes of this storage class. Defaults to Delete.\n\nPossible enum values:\n - `\"Delete\"` means the volume will be deleted from Kubernetes on release from its claim. The volume plugin must support Deletion.\n - `\"Recycle\"` means the volume will be recycled back into the pool of unbound persistent volumes on release from its claim. The volume plugin must support Recycling.\n - `\"Retain\"` means the volume will be left in its current phase (Released) for manual reclamation by the administrator. The default policy is Retain.", + "enum": [ + "Delete", + "Recycle", + "Retain" + ], "type": "string" }, - "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", + "volumeBindingMode": { + "description": "volumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is only honored by servers that enable the VolumeScheduling feature.\n\nPossible enum values:\n - `\"Immediate\"` indicates that PersistentVolumeClaims should be immediately provisioned and bound. This is the default mode.\n - `\"WaitForFirstConsumer\"` indicates that PersistentVolumeClaims should not be provisioned and bound until the first Pod is created that references the PeristentVolumeClaim. The volume provisioning and binding will occur during Pod scheduing.", + "enum": [ + "Immediate", + "WaitForFirstConsumer" + ], "type": "string" - }, - "resources": { - "description": "resources contains the name of the resources and if they are namespaced.", - "items": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" } }, "required": [ - "groupVersion", - "resources" + "provisioner" ], "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "", - "kind": "APIResourceList", + "group": "storage.k8s.io", + "kind": "StorageClass", "version": "v1" } ] }, - "io.k8s.apimachinery.pkg.apis.meta.v1.APIVersions": { - "description": "APIVersions lists the versions that are available, to allow clients to discover the API at /api, which is the root path of the legacy v1 API.", + "io.k8s.api.storage.v1.StorageClassList": { + "description": "StorageClassList is a collection of storage classes.", "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" }, + "items": { + "description": "items is the list of StorageClasses", + "items": { + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + }, + "type": "array" + }, "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" }, - "serverAddressByClientCIDRs": { - "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", - "items": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "versions": { - "description": "versions are the api versions that are available.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" } }, "required": [ - "versions", - "serverAddressByClientCIDRs" + "items" ], "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "", - "kind": "APIVersions", + "group": "storage.k8s.io", + "kind": "StorageClassList", "version": "v1" } ] }, - "io.k8s.apimachinery.pkg.apis.meta.v1.Condition": { - "description": "Condition contains details for one aspect of the current state of this API Resource.", + "io.k8s.api.storage.v1.TokenRequest": { + "description": "TokenRequest contains parameters of a service account token.", "properties": { - "lastTransitionTime": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", - "description": "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." - }, - "message": { - "description": "message is a human readable message indicating details about the transition. This may be an empty string.", + "audience": { + "description": "audience is the intended audience of the token in \"TokenRequestSpec\". It will default to the audiences of kube apiserver.", "type": "string" }, - "observedGeneration": { - "description": "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.", + "expirationSeconds": { + "description": "expirationSeconds is the duration of validity of the token in \"TokenRequestSpec\". It has the same default value of \"ExpirationSeconds\" in \"TokenRequestSpec\".", "format": "int64", "type": "integer" - }, - "reason": { - "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.", - "type": "string" - }, - "status": { - "description": "status of the condition, one of True, False, Unknown.", - "type": "string" - }, - "type": { - "description": "type of condition in CamelCase or in foo.example.com/CamelCase.", - "type": "string" } }, "required": [ - "type", - "status", - "lastTransitionTime", - "reason", - "message" + "audience" ], "type": "object" }, - "io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions": { - "description": "DeleteOptions may be provided when deleting an API object.", + "io.k8s.api.storage.v1.VolumeAttachment": { + "description": "VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node.\n\nVolumeAttachment objects are non-namespaced.", "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" }, - "dryRun": { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" - }, - "gracePeriodSeconds": { - "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", - "format": "int64", - "type": "integer" - }, - "ignoreStoreReadErrorWithClusterBreakingPotential": { - "description": "if set to true, it will trigger an unsafe deletion of the resource in case the normal deletion flow fails with a corrupt object error. A resource is considered corrupt if it can not be retrieved from the underlying storage successfully because of a) its data can not be transformed e.g. decryption failure, or b) it fails to decode into an object. NOTE: unsafe deletion ignores finalizer constraints, skips precondition checks, and removes the object from the storage. WARNING: This may potentially break the cluster if the workload associated with the resource being unsafe-deleted relies on normal deletion flow. Use only if you REALLY know what you are doing. The default value is false, and the user must opt in to enable it", - "type": "boolean" - }, "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" }, - "orphanDependents": { - "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", - "type": "boolean" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" }, - "preconditions": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", - "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." + "spec": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachmentSpec", + "description": "spec represents specification of the desired attach/detach volume behavior. Populated by the Kubernetes system." }, - "propagationPolicy": { - "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", - "type": "string" + "status": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachmentStatus", + "description": "status represents status of the VolumeAttachment request. Populated by the entity completing the attach or detach operation, i.e. the external-attacher." } }, + "required": [ + "spec" + ], "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "", - "kind": "DeleteOptions", + "group": "storage.k8s.io", + "kind": "VolumeAttachment", "version": "v1" + } + ] + }, + "io.k8s.api.storage.v1.VolumeAttachmentList": { + "description": "VolumeAttachmentList is a collection of VolumeAttachment objects.", + "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" }, - { - "group": "admission.k8s.io", - "kind": "DeleteOptions", - "version": "v1" + "items": { + "description": "items is the list of VolumeAttachments", + "items": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + }, + "type": "array" }, - { - "group": "admission.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" + "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" }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + } + }, + "required": [ + "items" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ { - "group": "admissionregistration.k8s.io", - "kind": "DeleteOptions", + "group": "storage.k8s.io", + "kind": "VolumeAttachmentList", "version": "v1" + } + ] + }, + "io.k8s.api.storage.v1.VolumeAttachmentSource": { + "description": "VolumeAttachmentSource represents a volume that should be attached. Right now only PersistentVolumes can be attached via external attacher, in the future we may allow also inline volumes in pods. Exactly one member can be set.", + "properties": { + "inlineVolumeSpec": { + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeSpec", + "description": "inlineVolumeSpec contains all the information necessary to attach a persistent volume defined by a pod's inline VolumeSource. This field is populated only for the CSIMigration feature. It contains translated fields from a pod's inline VolumeSource to a PersistentVolumeSpec. This field is beta-level and is only honored by servers that enabled the CSIMigration feature." }, - { - "group": "admissionregistration.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" - }, - { - "group": "admissionregistration.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "apiextensions.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "apiextensions.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "apiregistration.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "apiregistration.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "apps", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "apps", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "apps", - "kind": "DeleteOptions", - "version": "v1beta2" - }, - { - "group": "authentication.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "authentication.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" - }, - { - "group": "authentication.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "authorization.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "authorization.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "autoscaling", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "autoscaling", - "kind": "DeleteOptions", - "version": "v2" - }, - { - "group": "autoscaling", - "kind": "DeleteOptions", - "version": "v2beta1" - }, - { - "group": "autoscaling", - "kind": "DeleteOptions", - "version": "v2beta2" - }, - { - "group": "batch", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "batch", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "certificates.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "certificates.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" - }, - { - "group": "certificates.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "coordination.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "coordination.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha2" - }, - { - "group": "coordination.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "discovery.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "discovery.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "events.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "events.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "extensions", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta2" - }, - { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta3" - }, - { - "group": "imagepolicy.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" - }, - { - "group": "internal.apiserver.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" - }, - { - "group": "networking.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "networking.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" - }, - { - "group": "networking.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "node.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "node.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" - }, - { - "group": "node.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "policy", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "policy", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "rbac.authorization.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "rbac.authorization.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" - }, - { - "group": "rbac.authorization.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "resource.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha3" - }, - { - "group": "resource.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "resource.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta2" - }, - { - "group": "scheduling.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "scheduling.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" - }, - { - "group": "scheduling.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "storage.k8s.io", - "kind": "DeleteOptions", - "version": "v1" - }, - { - "group": "storage.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" - }, - { - "group": "storage.k8s.io", - "kind": "DeleteOptions", - "version": "v1beta1" - }, - { - "group": "storagemigration.k8s.io", - "kind": "DeleteOptions", - "version": "v1alpha1" + "persistentVolumeName": { + "description": "persistentVolumeName represents the name of the persistent volume to attach.", + "type": "string" } - ] + }, + "type": "object" }, - "io.k8s.apimachinery.pkg.apis.meta.v1.FieldSelectorRequirement": { - "description": "FieldSelectorRequirement is a selector that contains values, a key, and an operator that relates the key and values.", + "io.k8s.api.storage.v1.VolumeAttachmentSpec": { + "description": "VolumeAttachmentSpec is the specification of a VolumeAttachment request.", "properties": { - "key": { - "description": "key is the field selector key that the requirement applies to.", + "attacher": { + "description": "attacher indicates the name of the volume driver that MUST handle this request. This is the name returned by GetPluginName().", "type": "string" }, - "operator": { - "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. The list of operators may grow in the future.", + "nodeName": { + "description": "nodeName represents the node that the volume should be attached to.", "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.", - "items": { - "type": "string" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "source": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachmentSource", + "description": "source represents the volume that should be attached." } }, "required": [ - "key", - "operator" + "attacher", + "source", + "nodeName" ], "type": "object" }, - "io.k8s.apimachinery.pkg.apis.meta.v1.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:\u003cname\u003e', where \u003cname\u003e is the name of a field in a struct, or key in a map 'v:\u003cvalue\u003e', where \u003cvalue\u003e is the exact json formatted value of a list item 'i:\u003cindex\u003e', where \u003cindex\u003e is position of a item in a list 'k:\u003ckeys\u003e', where \u003ckeys\u003e is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff", - "type": "object" - }, - "io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery": { - "description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.", + "io.k8s.api.storage.v1.VolumeAttachmentStatus": { + "description": "VolumeAttachmentStatus is the status of a VolumeAttachment request.", "properties": { - "groupVersion": { - "description": "groupVersion specifies the API group and version in the form \"group/version\"", - "type": "string" + "attachError": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeError", + "description": "attachError represents the last error encountered during attach operation, if any. This field must only be set by the entity completing the attach operation, i.e. the external-attacher." }, - "version": { - "description": "version specifies the version in the form of \"version\". This is to save the clients the trouble of splitting the GroupVersion.", - "type": "string" + "attached": { + "description": "attached indicates the volume is successfully attached. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.", + "type": "boolean" + }, + "attachmentMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "attachmentMetadata is populated with any information returned by the attach operation, upon successful attach, that must be passed into subsequent WaitForAttach or Mount calls. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.", + "type": "object" + }, + "detachError": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeError", + "description": "detachError represents the last error encountered during detach operation, if any. This field must only be set by the entity completing the detach operation, i.e. the external-attacher." } }, "required": [ - "groupVersion", - "version" + "attached" ], "type": "object" }, - "io.k8s.apimachinery.pkg.apis.meta.v1.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.", + "io.k8s.api.storage.v1.VolumeAttributesClass": { + "description": "VolumeAttributesClass represents a specification of mutable volume attributes defined by the CSI driver. The class can be specified during dynamic provisioning of PersistentVolumeClaims, and changed in the PersistentVolumeClaim spec after provisioning.", "properties": { - "matchExpressions": { - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - "items": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement" - }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "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" }, - "matchLabels": { + "driverName": { + "description": "Name of the CSI driver This field is immutable.", + "type": "string" + }, + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + }, + "parameters": { "additionalProperties": { "type": "string" }, - "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.", + "description": "parameters hold volume attributes defined by the CSI driver. These values are opaque to the Kubernetes and are passed directly to the CSI driver. The underlying storage provider supports changing these attributes on an existing volume, however the parameters field itself is immutable. To invoke a volume update, a new VolumeAttributesClass should be created with new parameters, and the PersistentVolumeClaim should be updated to reference the new VolumeAttributesClass.\n\nThis field is required and must contain at least one key/value pair. The keys cannot be empty, and the maximum number of parameters is 512, with a cumulative max size of 256K. If the CSI driver rejects invalid parameters, the target PersistentVolumeClaim will be set to an \"Infeasible\" state in the modifyVolumeStatus field.", "type": "object" } }, + "required": [ + "driverName" + ], "type": "object", - "x-kubernetes-map-type": "atomic" + "x-kubernetes-group-version-kind": [ + { + "group": "storage.k8s.io", + "kind": "VolumeAttributesClass", + "version": "v1" + } + ] }, - "io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement": { - "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", + "io.k8s.api.storage.v1.VolumeAttributesClassList": { + "description": "VolumeAttributesClassList is a collection of VolumeAttributesClass objects.", "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.", + "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" }, - "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": { + "description": "items is the list of VolumeAttributesClass objects.", "items": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" }, - "type": "array", - "x-kubernetes-list-type": "atomic" + "type": "array" + }, + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" } }, "required": [ - "key", - "operator" + "items" ], - "type": "object" + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "storage.k8s.io", + "kind": "VolumeAttributesClassList", + "version": "v1" + } + ] }, - "io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta": { - "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", + "io.k8s.api.storage.v1.VolumeError": { + "description": "VolumeError captures an error encountered during a volume operation.", "properties": { - "continue": { - "description": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.", - "type": "string" - }, - "remainingItemCount": { - "description": "remainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact.", - "format": "int64", + "errorCode": { + "description": "errorCode is a numeric gRPC code representing the error encountered during Attach or Detach operations.\n\nThis is an optional, beta field that requires the MutableCSINodeAllocatableCount feature gate being enabled to be set.", + "format": "int32", "type": "integer" }, - "resourceVersion": { - "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency", + "message": { + "description": "message represents the error encountered during Attach or Detach operation. This string may be logged, so it should not contain sensitive information.", "type": "string" }, - "selfLink": { - "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.", - "type": "string" + "time": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", + "description": "time represents the time the error was encountered." } }, "type": "object" }, - "io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry": { - "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.", + "io.k8s.api.storage.v1.VolumeNodeResources": { + "description": "VolumeNodeResources is a set of resource limits for scheduling of volumes.", "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.", + "count": { + "description": "count indicates the maximum number of unique volumes managed by the CSI driver that can be used on a node. A volume that is both attached and mounted on a node is considered to be used once, not twice. The same rule applies for a unique volume that is shared among multiple pods on the same node. If this field is not specified, then the supported number of volumes on this node is unbounded.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceColumnDefinition": { + "description": "CustomResourceColumnDefinition specifies a column for server side printing.", + "properties": { + "description": { + "description": "description is a human readable description of this column.", "type": "string" }, - "fieldsType": { - "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"", + "format": { + "description": "format is an optional OpenAPI type definition for this column. The 'name' format is applied to the primary identifier column to assist in clients identifying column is the resource name. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.", "type": "string" }, - "fieldsV1": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", - "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." - }, - "manager": { - "description": "Manager is an identifier of the workflow managing these fields.", + "jsonPath": { + "description": "jsonPath is a simple JSON path (i.e. with array notation) which is evaluated against each custom resource to produce the value for this column.", "type": "string" }, - "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'.", + "name": { + "description": "name is a human readable name for the column.", "type": "string" }, - "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 resource.", - "type": "string" + "priority": { + "description": "priority is an integer defining the relative importance of this column compared to others. Lower numbers are considered higher priority. Columns that may be omitted in limited space scenarios should be given a priority greater than 0.", + "format": "int32", + "type": "integer" }, - "time": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", - "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." + "type": { + "description": "type is an OpenAPI type definition for this column. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.", + "type": "string" } }, + "required": [ + "name", + "type", + "jsonPath" + ], "type": "object" }, - "io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime": { - "description": "MicroTime is version of Time with microsecond level precision.", - "format": "date-time", - "type": "string" - }, - "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceConversion": { + "description": "CustomResourceConversion describes how to convert different versions of a CR.", "properties": { - "annotations": { - "additionalProperties": { - "type": "string" - }, - "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" + "strategy": { + "description": "strategy specifies how custom resources are converted between versions. Allowed values are: - `\"None\"`: The converter only change the apiVersion and would not touch any other field in the custom resource. - `\"Webhook\"`: API Server will call to an external webhook to do the conversion. Additional information\n is needed for this option. This requires spec.preserveUnknownFields to be false, and spec.conversion.webhook to be set.", + "type": "string" }, - "creationTimestamp": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", - "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "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" - }, - "deletionTimestamp": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", - "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "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 the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.", - "items": { - "type": "string" - }, - "type": "array", - "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 specified and the generated name exists, the server will return a 409.\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency", - "type": "string" - }, - "generation": { - "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.", - "format": "int64", - "type": "integer" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "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" - }, - "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": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry" - }, - "type": "array", - "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" - }, - "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" - }, - "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": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference" - }, - "type": "array", - "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 treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency", - "type": "string" - }, - "selfLink": { - "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.", - "type": "string" - }, - "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" + "webhook": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.WebhookConversion", + "description": "webhook describes how to call the conversion webhook. Required when `strategy` is set to `\"Webhook\"`." } }, + "required": [ + "strategy" + ], "type": "object" }, - "io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference": { - "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.", + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition": { + "description": "CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format \u003c.spec.name\u003e.\u003c.spec.group\u003e.", "properties": { "apiVersion": { - "description": "API version of the referent.", + "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" }, - "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 (Unprocessable Entity) will be returned.", - "type": "boolean" - }, - "controller": { - "description": "If true, this reference points to the managing controller.", - "type": "boolean" - }, "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "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" }, - "name": { - "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names", - "type": "string" + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" }, - "uid": { - "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids", - "type": "string" + "spec": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionSpec", + "description": "spec describes how the user wants the resources to appear" + }, + "status": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionStatus", + "description": "status indicates the actual state of the CustomResourceDefinition" } }, "required": [ - "apiVersion", - "kind", - "name", - "uid" + "spec" ], "type": "object", - "x-kubernetes-map-type": "atomic" - }, - "io.k8s.apimachinery.pkg.apis.meta.v1.Patch": { - "description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.", - "type": "object" + "x-kubernetes-group-version-kind": [ + { + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", + "version": "v1" + } + ] }, - "io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions": { - "description": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionCondition": { + "description": "CustomResourceDefinitionCondition contains details for the current condition of this pod.", "properties": { - "resourceVersion": { - "description": "Specifies the target ResourceVersion", + "lastTransitionTime": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", + "description": "lastTransitionTime last time the condition transitioned from one status to another." + }, + "message": { + "description": "message is a human-readable message indicating details about last transition.", "type": "string" }, - "uid": { - "description": "Specifies the target UID.", + "reason": { + "description": "reason is a unique, one-word, CamelCase reason for the condition's last transition.", "type": "string" - } - }, - "type": "object" - }, - "io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR": { - "description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.", - "properties": { - "clientCIDR": { - "description": "The CIDR with which clients can match their IP to figure out the server address that they should use.", + }, + "status": { + "description": "status is the status of the condition. Can be True, False, Unknown.", "type": "string" }, - "serverAddress": { - "description": "Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port.", + "type": { + "description": "type is the type of the condition. Types include Established, NamesAccepted and Terminating.", "type": "string" } }, "required": [ - "clientCIDR", - "serverAddress" + "type", + "status" ], "type": "object" }, - "io.k8s.apimachinery.pkg.apis.meta.v1.Status": { - "description": "Status is a return value for calls that don't return other objects.", + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionList": { + "description": "CustomResourceDefinitionList is a list of CustomResourceDefinition objects.", "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" }, - "code": { - "description": "Suggested HTTP return code for this status, 0 if not set.", - "format": "int32", - "type": "integer" - }, - "details": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", - "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.", - "x-kubernetes-list-type": "atomic" + "items": { + "description": "items list individual CustomResourceDefinition objects", + "items": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + }, + "type": "array" }, "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" }, - "message": { - "description": "A human-readable description of the status of this operation.", - "type": "string" - }, "metadata": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" - }, - "reason": { - "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.", - "type": "string" - }, - "status": { - "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", - "type": "string" + "description": "Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" } }, + "required": [ + "items" + ], "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "", - "kind": "Status", + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinitionList", "version": "v1" } ] }, - "io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause": { - "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionNames": { + "description": "CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition", "properties": { - "field": { - "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"", + "categories": { + "description": "categories is a list of grouped resources this custom resource belongs to (e.g. 'all'). This is published in API discovery documents, and used by clients to support invocations like `kubectl get all`.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "kind": { + "description": "kind is the serialized kind of the resource. It is normally CamelCase and singular. Custom resource instances will use this value as the `kind` attribute in API calls.", "type": "string" }, - "message": { - "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader.", + "listKind": { + "description": "listKind is the serialized kind of the list for this resource. Defaults to \"`kind`List\".", "type": "string" }, - "reason": { - "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available.", + "plural": { + "description": "plural is the plural name of the resource to serve. The custom resources are served under `/apis/\u003cgroup\u003e/\u003cversion\u003e/.../\u003cplural\u003e`. Must match the name of the CustomResourceDefinition (in the form `\u003cnames.plural\u003e.\u003cgroup\u003e`). Must be all lowercase.", + "type": "string" + }, + "shortNames": { + "description": "shortNames are short names for the resource, exposed in API discovery documents, and used by clients to support invocations like `kubectl get \u003cshortname\u003e`. It must be all lowercase.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "singular": { + "description": "singular is the singular name of the resource. It must be all lowercase. Defaults to lowercased `kind`.", "type": "string" } }, + "required": [ + "plural", + "kind" + ], "type": "object" }, - "io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails": { - "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionSpec": { + "description": "CustomResourceDefinitionSpec describes how a user wants their resource to appear", "properties": { - "causes": { - "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", + "conversion": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceConversion", + "description": "conversion defines conversion settings for the CRD." + }, + "group": { + "description": "group is the API group of the defined custom resource. The custom resources are served under `/apis/\u003cgroup\u003e/...`. Must match the name of the CustomResourceDefinition (in the form `\u003cnames.plural\u003e.\u003cgroup\u003e`).", + "type": "string" + }, + "names": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionNames", + "description": "names specify the resource and kind names for the custom resource." + }, + "preserveUnknownFields": { + "description": "preserveUnknownFields indicates that object fields which are not specified in the OpenAPI schema should be preserved when persisting to storage. apiVersion, kind, metadata and known fields inside metadata are always preserved. This field is deprecated in favor of setting `x-preserve-unknown-fields` to true in `spec.versions[*].schema.openAPIV3Schema`. See https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#field-pruning for details.", + "type": "boolean" + }, + "scope": { + "description": "scope indicates whether the defined custom resource is cluster- or namespace-scoped. Allowed values are `Cluster` and `Namespaced`.", + "type": "string" + }, + "versions": { + "description": "versions is the list of all API versions of the defined custom resource. Version names are used to compute the order in which served versions are listed in API discovery. If the version string is \"kube-like\", it will sort above non \"kube-like\" version strings, which are ordered lexicographically. \"Kube-like\" versions start with a \"v\", then are followed by a number (the major version), then optionally the string \"alpha\" or \"beta\" and another number (the minor version). These are sorted first by GA \u003e beta \u003e alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.", "items": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause" + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionVersion" }, "type": "array", "x-kubernetes-list-type": "atomic" + } + }, + "required": [ + "group", + "names", + "scope", + "versions" + ], + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionStatus": { + "description": "CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition", + "properties": { + "acceptedNames": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionNames", + "description": "acceptedNames are the names that are actually being used to serve discovery. They may be different than the names in spec." }, - "group": { - "description": "The group attribute of the resource associated with the status StatusReason.", - "type": "string" + "conditions": { + "description": "conditions indicate state for particular aspects of a CustomResourceDefinition", + "items": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionCondition" + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" }, - "kind": { - "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "storedVersions": { + "description": "storedVersions lists all versions of CustomResources that were ever persisted. Tracking these versions allows a migration path for stored versions in etcd. The field is mutable so a migration controller can finish a migration to another version (ensuring no old objects are left in storage), and then remove the rest of the versions from this list. Versions may not be removed from `spec.versions` while they exist in this list.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionVersion": { + "description": "CustomResourceDefinitionVersion describes a version for CRD.", + "properties": { + "additionalPrinterColumns": { + "description": "additionalPrinterColumns specifies additional columns returned in Table output. See https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables for details. If no columns are specified, a single column displaying the age of the custom resource is used.", + "items": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceColumnDefinition" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "deprecated": { + "description": "deprecated indicates this version of the custom resource API is deprecated. When set to true, API requests to this version receive a warning header in the server response. Defaults to false.", + "type": "boolean" + }, + "deprecationWarning": { + "description": "deprecationWarning overrides the default warning returned to API clients. May only be set when `deprecated` is true. The default warning indicates this version is deprecated and recommends use of the newest served version of equal or greater stability, if one exists.", "type": "string" }, "name": { - "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).", + "description": "name is the version name, e.g. “v1”, “v2beta1”, etc. The custom resources are served under this version at `/apis/\u003cgroup\u003e/\u003cversion\u003e/...` if `served` is true.", "type": "string" }, - "retryAfterSeconds": { - "description": "If specified, the time in seconds before the operation should be retried. Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action.", - "format": "int32", - "type": "integer" + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceValidation", + "description": "schema describes the schema used for validation, pruning, and defaulting of this version of the custom resource." }, - "uid": { - "description": "UID of the resource. (when there is a single resource which can be described). More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids", - "type": "string" + "selectableFields": { + "description": "selectableFields specifies paths to fields that may be used as field selectors. A maximum of 8 selectable fields are allowed. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors", + "items": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.SelectableField" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "served": { + "description": "served is a flag enabling/disabling this version from being served via REST APIs", + "type": "boolean" + }, + "storage": { + "description": "storage indicates this version should be used when persisting custom resources to storage. There must be exactly one version with storage=true.", + "type": "boolean" + }, + "subresources": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresources", + "description": "subresources specify what subresources this version of the defined custom resource have." } }, + "required": [ + "name", + "served", + "storage" + ], "type": "object" }, - "io.k8s.apimachinery.pkg.apis.meta.v1.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" - }, - "io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent": { - "description": "Event represents a single event to a watched resource.", + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresourceScale": { + "description": "CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources.", "properties": { - "object": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", - "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." + "labelSelectorPath": { + "description": "labelSelectorPath defines the JSON path inside of a custom resource that corresponds to Scale `status.selector`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.status` or `.spec`. Must be set to work with HorizontalPodAutoscaler. The field pointed by this JSON path must be a string field (not a complex selector struct) which contains a serialized label selector in string form. More info: https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions#scale-subresource If there is no value under the given path in the custom resource, the `status.selector` value in the `/scale` subresource will default to the empty string.", + "type": "string" }, - "type": { + "specReplicasPath": { + "description": "specReplicasPath defines the JSON path inside of a custom resource that corresponds to Scale `spec.replicas`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.spec`. If there is no value under the given path in the custom resource, the `/scale` subresource will return an error on GET.", + "type": "string" + }, + "statusReplicasPath": { + "description": "statusReplicasPath defines the JSON path inside of a custom resource that corresponds to Scale `status.replicas`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.status`. If there is no value under the given path in the custom resource, the `status.replicas` value in the `/scale` subresource will default to 0.", "type": "string" } }, "required": [ - "type", - "object" + "specReplicasPath", + "statusReplicasPath" ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "", - "kind": "WatchEvent", - "version": "v1" - }, - { - "group": "admission.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresourceStatus": { + "description": "CustomResourceSubresourceStatus defines how to serve the status subresource for CustomResources. Status is represented by the `.status` JSON path inside of a CustomResource. When set, * exposes a /status subresource for the custom resource * PUT requests to the /status subresource take a custom resource object, and ignore changes to anything except the status stanza * PUT/POST/PATCH requests to the custom resource ignore changes to the status stanza", + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresources": { + "description": "CustomResourceSubresources defines the status and scale subresources for CustomResources.", + "properties": { + "scale": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresourceScale", + "description": "scale indicates the custom resource should serve a `/scale` subresource that returns an `autoscaling/v1` Scale object." }, - { - "group": "admission.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "status": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceSubresourceStatus", + "description": "status indicates the custom resource should serve a `/status` subresource. When enabled: 1. requests to the custom resource primary endpoint ignore changes to the `status` stanza of the object. 2. requests to the custom resource `/status` subresource ignore changes to anything other than the `status` stanza of the object." + } + }, + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceValidation": { + "description": "CustomResourceValidation is a list of validation methods for CustomResources.", + "properties": { + "openAPIV3Schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps", + "description": "openAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning." + } + }, + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ExternalDocumentation": { + "description": "ExternalDocumentation allows referencing an external resource for extended documentation.", + "properties": { + "description": { + "type": "string" }, - { - "group": "admissionregistration.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "url": { + "type": "string" + } + }, + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSON": { + "description": "JSON represents any valid JSON value. These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil." + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps": { + "description": "JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).", + "properties": { + "$ref": { + "type": "string" }, - { - "group": "admissionregistration.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" + "$schema": { + "type": "string" }, - { - "group": "admissionregistration.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "additionalItems": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrBool" }, - { - "group": "apiextensions.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "additionalProperties": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrBool" }, - { - "group": "apiextensions.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "allOf": { + "items": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - { - "group": "apiregistration.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "anyOf": { + "items": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - { - "group": "apiregistration.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "default": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSON", + "description": "default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false." }, - { - "group": "apps", - "kind": "WatchEvent", - "version": "v1" - }, - { - "group": "apps", - "kind": "WatchEvent", - "version": "v1beta1" - }, - { - "group": "apps", - "kind": "WatchEvent", - "version": "v1beta2" - }, - { - "group": "authentication.k8s.io", - "kind": "WatchEvent", - "version": "v1" - }, - { - "group": "authentication.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" - }, - { - "group": "authentication.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" - }, - { - "group": "authorization.k8s.io", - "kind": "WatchEvent", - "version": "v1" - }, - { - "group": "authorization.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" - }, - { - "group": "autoscaling", - "kind": "WatchEvent", - "version": "v1" - }, - { - "group": "autoscaling", - "kind": "WatchEvent", - "version": "v2" - }, - { - "group": "autoscaling", - "kind": "WatchEvent", - "version": "v2beta1" - }, - { - "group": "autoscaling", - "kind": "WatchEvent", - "version": "v2beta2" - }, - { - "group": "batch", - "kind": "WatchEvent", - "version": "v1" - }, - { - "group": "batch", - "kind": "WatchEvent", - "version": "v1beta1" - }, - { - "group": "certificates.k8s.io", - "kind": "WatchEvent", - "version": "v1" - }, - { - "group": "certificates.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" + "definitions": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" + }, + "type": "object" }, - { - "group": "certificates.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "dependencies": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrStringArray" + }, + "type": "object" }, - { - "group": "coordination.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "description": { + "type": "string" }, - { - "group": "coordination.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha2" + "enum": { + "items": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSON" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - { - "group": "coordination.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "example": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSON" }, - { - "group": "discovery.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "exclusiveMaximum": { + "type": "boolean" }, - { - "group": "discovery.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "exclusiveMinimum": { + "type": "boolean" }, - { - "group": "events.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "externalDocs": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ExternalDocumentation" }, - { - "group": "events.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "format": { + "description": "format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:\n\n- bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like \"0321751043\" or \"978-0321751041\" - isbn10: an ISBN10 number string like \"0321751043\" - isbn13: an ISBN13 number string like \"978-0321751041\" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$ - hexcolor: an hexadecimal color code like \"#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like \"rgb(255,255,2559\" - byte: base64 encoded binary data - password: any kind of string - date: a date string like \"2006-01-02\" as defined by full-date in RFC3339 - duration: a duration string like \"22 ns\" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like \"2014-12-15T19:30:20.000Z\" as defined by date-time in RFC3339.", + "type": "string" }, - { - "group": "extensions", - "kind": "WatchEvent", - "version": "v1beta1" + "id": { + "type": "string" }, - { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "items": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrArray" }, - { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "maxItems": { + "format": "int64", + "type": "integer" }, - { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "WatchEvent", - "version": "v1beta2" + "maxLength": { + "format": "int64", + "type": "integer" }, - { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "WatchEvent", - "version": "v1beta3" + "maxProperties": { + "format": "int64", + "type": "integer" }, - { - "group": "imagepolicy.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" + "maximum": { + "format": "double", + "type": "number" }, - { - "group": "internal.apiserver.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" + "minItems": { + "format": "int64", + "type": "integer" }, - { - "group": "networking.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "minLength": { + "format": "int64", + "type": "integer" }, - { - "group": "networking.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" + "minProperties": { + "format": "int64", + "type": "integer" }, - { - "group": "networking.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "minimum": { + "format": "double", + "type": "number" }, - { - "group": "node.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "multipleOf": { + "format": "double", + "type": "number" }, - { - "group": "node.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" + "not": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" }, - { - "group": "node.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "nullable": { + "type": "boolean" }, - { - "group": "policy", - "kind": "WatchEvent", - "version": "v1" + "oneOf": { + "items": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - { - "group": "policy", - "kind": "WatchEvent", - "version": "v1beta1" + "pattern": { + "type": "string" }, - { - "group": "rbac.authorization.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "patternProperties": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" + }, + "type": "object" }, - { - "group": "rbac.authorization.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" + "properties": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps" + }, + "type": "object" }, - { - "group": "rbac.authorization.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "required": { + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - { - "group": "resource.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha3" + "title": { + "type": "string" }, - { - "group": "resource.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "type": { + "type": "string" }, - { - "group": "resource.k8s.io", - "kind": "WatchEvent", - "version": "v1beta2" + "uniqueItems": { + "type": "boolean" }, - { - "group": "scheduling.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "x-kubernetes-embedded-resource": { + "description": "x-kubernetes-embedded-resource defines that the value is an embedded Kubernetes runtime.Object, with TypeMeta and ObjectMeta. The type must be object. It is allowed to further restrict the embedded object. kind, apiVersion and metadata are validated automatically. x-kubernetes-preserve-unknown-fields is allowed to be true, but does not have to be if the object is fully specified (up to kind, apiVersion, metadata).", + "type": "boolean" }, - { - "group": "scheduling.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" + "x-kubernetes-int-or-string": { + "description": "x-kubernetes-int-or-string specifies that this value is either an integer or a string. If this is true, an empty type is allowed and type as child of anyOf is permitted if following one of the following patterns:\n\n1) anyOf:\n - type: integer\n - type: string\n2) allOf:\n - anyOf:\n - type: integer\n - type: string\n - ... zero or more", + "type": "boolean" }, - { - "group": "scheduling.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "x-kubernetes-list-map-keys": { + "description": "x-kubernetes-list-map-keys annotates an array with the x-kubernetes-list-type `map` by specifying the keys used as the index of the map.\n\nThis tag MUST only be used on lists that have the \"x-kubernetes-list-type\" extension set to \"map\". Also, the values specified for this attribute must be a scalar typed field of the child structure (no nesting is supported).\n\nThe properties specified must either be required or have a default value, to ensure those properties are present for all list items.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - { - "group": "storage.k8s.io", - "kind": "WatchEvent", - "version": "v1" + "x-kubernetes-list-type": { + "description": "x-kubernetes-list-type annotates an array to further describe its topology. This extension must only be used on lists and may have 3 possible values:\n\n1) `atomic`: the list is treated as a single entity, like a scalar.\n Atomic lists will be entirely replaced when updated. This extension\n may be used on any type of list (struct, scalar, ...).\n2) `set`:\n Sets are lists that must not have multiple items with the same value. Each\n value must be a scalar, an object with x-kubernetes-map-type `atomic` or an\n array with x-kubernetes-list-type `atomic`.\n3) `map`:\n These lists are like maps in that their elements have a non-index key\n used to identify them. Order is preserved upon merge. The map tag\n must only be used on a list with elements of type object.\nDefaults to atomic for arrays.", + "type": "string" }, - { - "group": "storage.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" + "x-kubernetes-map-type": { + "description": "x-kubernetes-map-type annotates an object to further describe its topology. This extension must only be used when type is object and may have 2 possible values:\n\n1) `granular`:\n These maps are actual maps (key-value pairs) and each fields are independent\n from each other (they can each be manipulated by separate actors). This is\n the default behaviour for all maps.\n2) `atomic`: the list is treated as a single entity, like a scalar.\n Atomic maps will be entirely replaced when updated.", + "type": "string" }, - { - "group": "storage.k8s.io", - "kind": "WatchEvent", - "version": "v1beta1" + "x-kubernetes-preserve-unknown-fields": { + "description": "x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields which are not specified in the validation schema. This affects fields recursively, but switches back to normal pruning behaviour if nested properties or additionalProperties are specified in the schema. This can either be true or undefined. False is forbidden.", + "type": "boolean" }, - { - "group": "storagemigration.k8s.io", - "kind": "WatchEvent", - "version": "v1alpha1" + "x-kubernetes-validations": { + "description": "x-kubernetes-validations describes a list of validation rules written in the CEL expression language.", + "items": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ValidationRule" + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "rule" + ], + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "rule", + "x-kubernetes-patch-strategy": "merge" } - ] - }, - "io.k8s.apimachinery.pkg.runtime.RawExtension": { - "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.Object `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// External package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// On the wire, the JSON will look something like this:\n\n\t{\n\t\t\"kind\":\"MyAPIObject\",\n\t\t\"apiVersion\":\"v1\",\n\t\t\"myPlugin\": {\n\t\t\t\"kind\":\"PluginA\",\n\t\t\t\"aOption\":\"foo\",\n\t\t},\n\t}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", + }, "type": "object" }, - "io.k8s.apimachinery.pkg.util.intstr.IntOrString": { - "description": "IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number.", - "format": "int-or-string", - "type": "string" + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrArray": { + "description": "JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps or an array of JSONSchemaProps. Mainly here for serialization purposes." }, - "io.k8s.apimachinery.pkg.version.Info": { - "description": "Info contains versioning information. how we'll want to distribute that information.", + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrBool": { + "description": "JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. Defaults to true for the boolean property." + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaPropsOrStringArray": { + "description": "JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array." + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.SelectableField": { + "description": "SelectableField specifies the JSON path of a field that may be used with field selectors.", "properties": { - "buildDate": { + "jsonPath": { + "description": "jsonPath is a simple JSON path which is evaluated against each custom resource to produce a field selector value. Only JSON paths without the array notation are allowed. Must point to a field of type string, boolean or integer. Types with enum values and strings with formats are allowed. If jsonPath refers to absent field in a resource, the jsonPath evaluates to an empty string. Must not point to metdata fields. Required.", "type": "string" - }, - "compiler": { + } + }, + "required": [ + "jsonPath" + ], + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ServiceReference": { + "description": "ServiceReference holds a reference to Service.legacy.k8s.io", + "properties": { + "name": { + "description": "name is the name of the service. Required", "type": "string" }, - "emulationMajor": { - "description": "EmulationMajor is the major version of the emulation version", + "namespace": { + "description": "namespace is the namespace of the service. Required", "type": "string" }, - "emulationMinor": { - "description": "EmulationMinor is the minor version of the emulation version", + "path": { + "description": "path is an optional URL path at which the webhook will be contacted.", "type": "string" }, - "gitCommit": { + "port": { + "description": "port is an optional service port at which the webhook will be contacted. `port` should be a valid port number (1-65535, inclusive). Defaults to 443 for backward compatibility.", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "namespace", + "name" + ], + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ValidationRule": { + "description": "ValidationRule describes a validation rule written in the CEL expression language.", + "properties": { + "fieldPath": { + "description": "fieldPath represents the field path returned when the validation fails. It must be a relative JSON path (i.e. with array notation) scoped to the location of this x-kubernetes-validations extension in the schema and refer to an existing field. e.g. when validation checks if a specific attribute `foo` under a map `testMap`, the fieldPath could be set to `.testMap.foo` If the validation checks two lists must have unique attributes, the fieldPath could be set to either of the list: e.g. `.testList` It does not support list numeric index. It supports child operation to refer to an existing field currently. Refer to [JSONPath support in Kubernetes](https://kubernetes.io/docs/reference/kubectl/jsonpath/) for more info. Numeric index of array is not supported. For field name which contains special characters, use `['specialName']` to refer the field name. e.g. for attribute `foo.34$` appears in a list `testList`, the fieldPath could be set to `.testList['foo.34$']`", "type": "string" }, - "gitTreeState": { + "message": { + "description": "Message represents the message displayed when validation fails. The message is required if the Rule contains line breaks. The message must not contain line breaks. If unset, the message is \"failed rule: {Rule}\". e.g. \"must be a URL with the host matching spec.host\"", "type": "string" }, - "gitVersion": { + "messageExpression": { + "description": "MessageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. Since messageExpression is used as a failure message, it must evaluate to a string. If both message and messageExpression are present on a rule, then messageExpression will be used if validation fails. If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. messageExpression has access to all the same variables as the rule; the only difference is the return type. Example: \"x must be less than max (\"+string(self.max)+\")\"", "type": "string" }, - "goVersion": { - "type": "string" + "optionalOldSelf": { + "description": "optionalOldSelf is used to opt a transition rule into evaluation even when the object is first created, or if the old object is missing the value.\n\nWhen enabled `oldSelf` will be a CEL optional whose value will be `None` if there is no old value, or when the object is initially created.\n\nYou may check for presence of oldSelf using `oldSelf.hasValue()` and unwrap it after checking using `oldSelf.value()`. Check the CEL documentation for Optional types for more information: https://pkg.go.dev/github.com/google/cel-go/cel#OptionalTypes\n\nMay not be set unless `oldSelf` is used in `rule`.", + "type": "boolean" }, - "major": { - "description": "Major is the major version of the binary version", + "reason": { + "description": "reason provides a machine-readable validation failure reason that is returned to the caller when a request fails this validation rule. The HTTP status code returned to the caller will match the reason of the reason of the first failed validation rule. The currently supported reasons are: \"FieldValueInvalid\", \"FieldValueForbidden\", \"FieldValueRequired\", \"FieldValueDuplicate\". If not set, default to use \"FieldValueInvalid\". All future added reasons must be accepted by clients when reading this value and unknown reasons should be treated as FieldValueInvalid.\n\nPossible enum values:\n - `\"FieldValueDuplicate\"` is used to report collisions of values that must be unique (e.g. unique IDs).\n - `\"FieldValueForbidden\"` is used to report valid (as per formatting rules) values which would be accepted under some conditions, but which are not permitted by the current conditions (such as security policy).\n - `\"FieldValueInvalid\"` is used to report malformed values (e.g. failed regex match, too long, out of bounds).\n - `\"FieldValueRequired\"` is used to report required values that are not provided (e.g. empty strings, null values, or empty arrays).", + "enum": [ + "FieldValueDuplicate", + "FieldValueForbidden", + "FieldValueInvalid", + "FieldValueRequired" + ], "type": "string" }, - "minCompatibilityMajor": { - "description": "MinCompatibilityMajor is the major version of the minimum compatibility version", + "rule": { + "description": "Rule represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec The Rule is scoped to the location of the x-kubernetes-validations extension in the schema. The `self` variable in the CEL expression is bound to the scoped value. Example: - Rule scoped to the root of a resource with a status subresource: {\"rule\": \"self.status.actual \u003c= self.spec.maxDesired\"}\n\nIf the Rule is scoped to an object with properties, the accessible properties of the object are field selectable via `self.field` and field presence can be checked via `has(self.field)`. Null valued fields are treated as absent fields in CEL expressions. If the Rule is scoped to an object with additionalProperties (i.e. a map) the value of the map are accessible via `self[mapKey]`, map containment can be checked via `mapKey in self` and all entries of the map are accessible via CEL macros and functions such as `self.all(...)`. If the Rule is scoped to an array, the elements of the array are accessible via `self[i]` and also by macros and functions. If the Rule is scoped to a scalar, `self` is bound to the scalar value. Examples: - Rule scoped to a map of objects: {\"rule\": \"self.components['Widget'].priority \u003c 10\"} - Rule scoped to a list of integers: {\"rule\": \"self.values.all(value, value \u003e= 0 \u0026\u0026 value \u003c 100)\"} - Rule scoped to a string value: {\"rule\": \"self.startsWith('kube')\"}\n\nThe `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object and from any x-kubernetes-embedded-resource annotated objects. No other metadata properties are accessible.\n\nUnknown data preserved in custom resources via x-kubernetes-preserve-unknown-fields is not accessible in CEL expressions. This includes: - Unknown field values that are preserved by object schemas with x-kubernetes-preserve-unknown-fields. - Object properties where the property schema is of an \"unknown type\". An \"unknown type\" is recursively defined as:\n - A schema with no type and x-kubernetes-preserve-unknown-fields set to true\n - An array where the items schema is of an \"unknown type\"\n - An object where the additionalProperties schema is of an \"unknown type\"\n\nOnly property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", \"const\", \"continue\", \"else\", \"for\", \"function\", \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", \"return\".\nExamples:\n - Rule accessing a property named \"namespace\": {\"rule\": \"self.__namespace__ \u003e 0\"}\n - Rule accessing a property named \"x-prop\": {\"rule\": \"self.x__dash__prop \u003e 0\"}\n - Rule accessing a property named \"redact__d\": {\"rule\": \"self.redact__underscores__d \u003e 0\"}\n\nEquality on arrays with x-kubernetes-list-type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:\n - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and\n non-intersecting elements in `Y` are appended, retaining their partial order.\n - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values\n are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with\n non-intersecting keys are appended, retaining their partial order.\n\nIf `rule` makes use of the `oldSelf` variable it is implicitly a `transition rule`.\n\nBy default, the `oldSelf` variable is the same type as `self`. When `optionalOldSelf` is true, the `oldSelf` variable is a CEL optional\n variable whose value() is the same type as `self`.\nSee the documentation for the `optionalOldSelf` field for details.\n\nTransition rules by default are applied only on UPDATE requests and are skipped if an old value could not be found. You can opt a transition rule into unconditional evaluation by setting `optionalOldSelf` to true.", "type": "string" - }, - "minCompatibilityMinor": { - "description": "MinCompatibilityMinor is the minor version of the minimum compatibility version", + } + }, + "required": [ + "rule" + ], + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.WebhookClientConfig": { + "description": "WebhookClientConfig contains the information to make a TLS connection with the webhook.", + "properties": { + "caBundle": { + "description": "caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.", + "format": "byte", "type": "string" }, - "minor": { - "description": "Minor is the minor version of the binary version", - "type": "string" + "service": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.ServiceReference", + "description": "service is a reference to the service for this webhook. Either service or url must be specified.\n\nIf the webhook is running within the cluster, then you should use `service`." }, - "platform": { + "url": { + "description": "url gives the location of the webhook, in standard URL form (`scheme://host:port/path`). Exactly one of `url` or `service` must be specified.\n\nThe `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address.\n\nPlease note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.\n\nThe scheme must be \"https\"; the URL must begin with \"https://\".\n\nA path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.\n\nAttempting to use a user or basic auth e.g. \"user:password@\" is not allowed. Fragments (\"#...\") and query parameters (\"?...\") are not allowed, either.", "type": "string" } }, + "type": "object" + }, + "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.WebhookConversion": { + "description": "WebhookConversion describes how to call a conversion webhook", + "properties": { + "clientConfig": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.WebhookClientConfig", + "description": "clientConfig is the instructions for how to call the webhook if strategy is `Webhook`." + }, + "conversionReviewVersions": { + "description": "conversionReviewVersions is an ordered list of preferred `ConversionReview` versions the Webhook expects. The API server will use the first version in the list which it supports. If none of the versions specified in this list are supported by API server, conversion will fail for the custom resource. If a persisted Webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, "required": [ - "major", - "minor", - "gitVersion", - "gitCommit", - "gitTreeState", - "buildDate", - "goVersion", - "compiler", - "platform" + "conversionReviewVersions" ], "type": "object" }, - "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService": { - "description": "APIService represents a server for a particular GroupVersion. Name must be \"version.group\".", + "io.k8s.apimachinery.pkg.api.resource.Quantity": { + "description": "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n``` \u003cquantity\u003e ::= \u003csignedNumber\u003e\u003csuffix\u003e\n\n\t(Note that \u003csuffix\u003e may be empty, from the \"\" case in \u003cdecimalSI\u003e.)\n\n\u003cdigit\u003e ::= 0 | 1 | ... | 9 \u003cdigits\u003e ::= \u003cdigit\u003e | \u003cdigit\u003e\u003cdigits\u003e \u003cnumber\u003e ::= \u003cdigits\u003e | \u003cdigits\u003e.\u003cdigits\u003e | \u003cdigits\u003e. | .\u003cdigits\u003e \u003csign\u003e ::= \"+\" | \"-\" \u003csignedNumber\u003e ::= \u003cnumber\u003e | \u003csign\u003e\u003cnumber\u003e \u003csuffix\u003e ::= \u003cbinarySI\u003e | \u003cdecimalExponent\u003e | \u003cdecimalSI\u003e \u003cbinarySI\u003e ::= Ki | Mi | Gi | Ti | Pi | Ei\n\n\t(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\n\u003cdecimalSI\u003e ::= m | \"\" | k | M | G | T | P | E\n\n\t(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\n\u003cdecimalExponent\u003e ::= \"e\" \u003csignedNumber\u003e | \"E\" \u003csignedNumber\u003e ```\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n\n- No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.\n\nThe sign will be omitted unless the number is negative.\n\nExamples:\n\n- 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.", + "type": "string" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup": { + "description": "APIGroup contains the name, the supported versions, and the preferred version of a group.", "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", @@ -16754,401 +16754,1847 @@ "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" }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "spec": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceSpec", - "description": "Spec contains information for locating and communicating with a server" + "name": { + "description": "name is the name of the group.", + "type": "string" }, - "status": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceStatus", - "description": "Status contains derived information about an API server" + "preferredVersion": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery", + "description": "preferredVersion is the version preferred by the API server, which probably is the storage version." + }, + "serverAddressByClientCIDRs": { + "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "versions": { + "description": "versions are the versions supported in this group.", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" } }, + "required": [ + "name", + "versions" + ], "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "", + "kind": "APIGroup", "version": "v1" } ] }, - "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceCondition": { - "description": "APIServiceCondition describes the state of an APIService at a particular point", - "properties": { - "lastTransitionTime": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", - "description": "Last time the condition transitioned from one status to another." - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "description": "Status is the status of the condition. Can be True, False, Unknown.", - "type": "string" - }, - "type": { - "description": "Type is the type of the condition.", - "type": "string" - } - }, - "required": [ - "type", - "status" - ], - "type": "object" - }, - "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceList": { - "description": "APIServiceList is a list of APIService objects.", + "io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList": { + "description": "APIGroupList is a list of APIGroup, to allow clients to discover the API at /apis.", "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" }, - "items": { - "description": "Items is the list of APIService", + "groups": { + "description": "groups is a list of APIGroup.", "items": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" }, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "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" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" } }, "required": [ - "items" + "groups" ], "type": "object", "x-kubernetes-group-version-kind": [ { - "group": "apiregistration.k8s.io", - "kind": "APIServiceList", + "group": "", + "kind": "APIGroupList", "version": "v1" } ] }, - "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceSpec": { - "description": "APIServiceSpec contains information for locating and communicating with a server. Only https is supported, though you are able to disable certificate verification.", + "io.k8s.apimachinery.pkg.apis.meta.v1.APIResource": { + "description": "APIResource specifies the name of a resource and whether it is namespaced.", "properties": { - "caBundle": { - "description": "CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate. If unspecified, system trust roots on the apiserver are used.", - "format": "byte", - "type": "string", + "categories": { + "description": "categories is a list of the grouped resources this resource belongs to (e.g. 'all')", + "items": { + "type": "string" + }, + "type": "array", "x-kubernetes-list-type": "atomic" }, "group": { - "description": "Group is the API group name this server hosts", + "description": "group is the preferred group of the resource. Empty implies the group of the containing resource list. For subresources, this may have a different value, for example: Scale\".", "type": "string" }, - "groupPriorityMinimum": { - "description": "GroupPriorityMinimum is the priority this group should have at least. Higher priority means that the group is preferred by clients over lower priority ones. Note that other versions of this group might specify even higher GroupPriorityMinimum values such that the whole group gets a higher priority. The primary sort is based on GroupPriorityMinimum, ordered highest number to lowest (20 before 10). The secondary sort is based on the alphabetical comparison of the name of the object. (v1.bar before v1.foo) We'd recommend something like: *.k8s.io (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended to be in the 2000s", - "format": "int32", - "type": "integer" + "kind": { + "description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')", + "type": "string" }, - "insecureSkipTLSVerify": { - "description": "InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server. This is strongly discouraged. You should use the CABundle instead.", + "name": { + "description": "name is the plural name of the resource.", + "type": "string" + }, + "namespaced": { + "description": "namespaced indicates if a resource is namespaced or not.", "type": "boolean" }, - "service": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.ServiceReference", - "description": "Service is a reference to the service for this API server. It must communicate on port 443. If the Service is nil, that means the handling for the API groupversion is handled locally on this server. The call will simply delegate to the normal handler chain to be fulfilled." + "shortNames": { + "description": "shortNames is a list of suggested short names of the resource.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" }, - "version": { - "description": "Version is the API version this server hosts. For example, \"v1\"", + "singularName": { + "description": "singularName is the singular name of the resource. This allows clients to handle plural and singular opaquely. The singularName is more correct for reporting status on a single item and both singular and plural are allowed from the kubectl CLI interface.", "type": "string" }, - "versionPriority": { - "description": "VersionPriority controls the ordering of this API version inside of its group. Must be greater than zero. The primary sort is based on VersionPriority, ordered highest to lowest (20 before 10). Since it's inside of a group, the number can be small, probably in the 10s. In case of equal version priorities, the version string will be used to compute the order inside a group. If the version string is \"kube-like\", it will sort above non \"kube-like\" version strings, which are ordered lexicographically. \"Kube-like\" versions start with a \"v\", then are followed by a number (the major version), then optionally the string \"alpha\" or \"beta\" and another number (the minor version). These are sorted first by GA \u003e beta \u003e alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.", - "format": "int32", - "type": "integer" + "storageVersionHash": { + "description": "The hash value of the storage version, the version this resource is converted to when written to the data store. Value must be treated as opaque by clients. Only equality comparison on the value is valid. This is an alpha feature and may change or be removed in the future. The field is populated by the apiserver only if the StorageVersionHash feature gate is enabled. This field will remain optional even if it graduates.", + "type": "string" + }, + "verbs": { + "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)", + "items": { + "type": "string" + }, + "type": "array" + }, + "version": { + "description": "version is the preferred version of the resource. Empty implies the version of the containing resource list For subresources, this may have a different value, for example: v1 (while inside a v1beta1 version of the core resource's group)\".", + "type": "string" } }, "required": [ - "groupPriorityMinimum", - "versionPriority" + "name", + "singularName", + "namespaced", + "kind", + "verbs" ], "type": "object" }, - "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceStatus": { - "description": "APIServiceStatus contains derived information about an API server", + "io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList": { + "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", "properties": { - "conditions": { - "description": "Current service state of apiService.", + "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" + }, + "groupVersion": { + "description": "groupVersion is the group and version this APIResourceList is for.", + "type": "string" + }, + "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" + }, + "resources": { + "description": "resources contains the name of the resources and if they are namespaced.", "items": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceCondition" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource" }, "type": "array", - "x-kubernetes-list-map-keys": [ - "type" - ], - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "type", - "x-kubernetes-patch-strategy": "merge" + "x-kubernetes-list-type": "atomic" } }, - "type": "object" + "required": [ + "groupVersion", + "resources" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "APIResourceList", + "version": "v1" + } + ] }, - "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.ServiceReference": { - "description": "ServiceReference holds a reference to Service.legacy.k8s.io", + "io.k8s.apimachinery.pkg.apis.meta.v1.APIVersions": { + "description": "APIVersions lists the versions that are available, to allow clients to discover the API at /api, which is the root path of the legacy v1 API.", "properties": { - "name": { - "description": "Name is the name of the service", + "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" }, - "namespace": { - "description": "Namespace is the namespace of the service", + "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" }, - "port": { - "description": "If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. `port` should be a valid port number (1-65535, inclusive).", - "format": "int32", + "serverAddressByClientCIDRs": { + "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "versions": { + "description": "versions are the api versions that are available.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "required": [ + "versions", + "serverAddressByClientCIDRs" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "APIVersions", + "version": "v1" + } + ] + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Condition": { + "description": "Condition contains details for one aspect of the current state of this API Resource.", + "properties": { + "lastTransitionTime": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", + "description": "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." + }, + "message": { + "description": "message is a human readable message indicating details about the transition. This may be an empty string.", + "type": "string" + }, + "observedGeneration": { + "description": "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.", + "format": "int64", "type": "integer" + }, + "reason": { + "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.", + "type": "string" + }, + "status": { + "description": "status of the condition, one of True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "type of condition in CamelCase or in foo.example.com/CamelCase.", + "type": "string" } }, + "required": [ + "type", + "status", + "lastTransitionTime", + "reason", + "message" + ], "type": "object" }, - "io.k8s.networking.gateway.v1.GRPCRoute": { - "description": "GRPCRoute provides a way to route gRPC requests. This includes the capability\nto match requests by hostname, gRPC service, gRPC method, or HTTP/2 header.\nFilters can be used to specify additional processing steps. Backends specify\nwhere matching requests will be routed.\n\nGRPCRoute falls under extended support within the Gateway API. Within the\nfollowing specification, the word \"MUST\" indicates that an implementation\nsupporting GRPCRoute must conform to the indicated requirement, but an\nimplementation not supporting this route type need not follow the requirement\nunless explicitly indicated.\n\nImplementations supporting `GRPCRoute` with the `HTTPS` `ProtocolType` MUST\naccept HTTP/2 connections without an initial upgrade from HTTP/1.1, i.e. via\nALPN. If the implementation does not support this, then it MUST set the\n\"Accepted\" condition to \"False\" for the affected listener with a reason of\n\"UnsupportedProtocol\". Implementations MAY also accept HTTP/2 connections\nwith an upgrade from HTTP/1.\n\nImplementations supporting `GRPCRoute` with the `HTTP` `ProtocolType` MUST\nsupport HTTP/2 over cleartext TCP (h2c,\nhttps://www.rfc-editor.org/rfc/rfc7540#section-3.1) without an initial\nupgrade from HTTP/1.1, i.e. with prior knowledge\n(https://www.rfc-editor.org/rfc/rfc7540#section-3.4). If the implementation\ndoes not support this, then it MUST set the \"Accepted\" condition to \"False\"\nfor the affected listener with a reason of \"UnsupportedProtocol\".\nImplementations MAY also accept HTTP/2 connections with an upgrade from\nHTTP/1, i.e. without prior knowledge.", + "io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions": { + "description": "DeleteOptions may be provided when deleting an API object.", "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" }, + "dryRun": { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "gracePeriodSeconds": { + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "format": "int64", + "type": "integer" + }, + "ignoreStoreReadErrorWithClusterBreakingPotential": { + "description": "if set to true, it will trigger an unsafe deletion of the resource in case the normal deletion flow fails with a corrupt object error. A resource is considered corrupt if it can not be retrieved from the underlying storage successfully because of a) its data can not be transformed e.g. decryption failure, or b) it fails to decode into an object. NOTE: unsafe deletion ignores finalizer constraints, skips precondition checks, and removes the object from the storage. WARNING: This may potentially break the cluster if the workload associated with the resource being unsafe-deleted relies on normal deletion flow. Use only if you REALLY know what you are doing. The default value is false, and the user must opt in to enable it", + "type": "boolean" + }, "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" }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + "orphanDependents": { + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "type": "boolean" }, - "spec": { - "description": "Spec defines the desired state of GRPCRoute.", - "properties": { - "hostnames": { - "description": "Hostnames defines a set of hostnames to match against the GRPC\nHost header to select a GRPCRoute to process the request. This matches\nthe RFC 1123 definition of a hostname with 2 notable exceptions:\n\n1. IPs are not allowed.\n2. A hostname may be prefixed with a wildcard label (`*.`). The wildcard\n label MUST appear by itself as the first label.\n\nIf a hostname is specified by both the Listener and GRPCRoute, there\nMUST be at least one intersecting hostname for the GRPCRoute to be\nattached to the Listener. For example:\n\n* A Listener with `test.example.com` as the hostname matches GRPCRoutes\n that have either not specified any hostnames, or have specified at\n least one of `test.example.com` or `*.example.com`.\n* A Listener with `*.example.com` as the hostname matches GRPCRoutes\n that have either not specified any hostnames or have specified at least\n one hostname that matches the Listener hostname. For example,\n `test.example.com` and `*.example.com` would both match. On the other\n hand, `example.com` and `test.example.net` would not match.\n\nHostnames that are prefixed with a wildcard label (`*.`) are interpreted\nas a suffix match. That means that a match for `*.example.com` would match\nboth `test.example.com`, and `foo.test.example.com`, but not `example.com`.\n\nIf both the Listener and GRPCRoute have specified hostnames, any\nGRPCRoute hostnames that do not match the Listener hostname MUST be\nignored. For example, if a Listener specified `*.example.com`, and the\nGRPCRoute specified `test.example.com` and `test.example.net`,\n`test.example.net` MUST NOT be considered for a match.\n\nIf both the Listener and GRPCRoute have specified hostnames, and none\nmatch with the criteria above, then the GRPCRoute MUST NOT be accepted by\nthe implementation. The implementation MUST raise an 'Accepted' Condition\nwith a status of `False` in the corresponding RouteParentStatus.\n\nIf a Route (A) of type HTTPRoute or GRPCRoute is attached to a\nListener and that listener already has another Route (B) of the other\ntype attached and the intersection of the hostnames of A and B is\nnon-empty, then the implementation MUST accept exactly one of these two\nroutes, determined by the following criteria, in order:\n\n* The oldest Route based on creation timestamp.\n* The Route appearing first in alphabetical order by\n \"{namespace}/{name}\".\n\nThe rejected Route MUST raise an 'Accepted' condition with a status of\n'False' in the corresponding RouteParentStatus.\n\nSupport: Core", - "items": { - "description": "Hostname is the fully qualified domain name of a network host. This matches\nthe RFC 1123 definition of a hostname with 2 notable exceptions:\n\n 1. IPs are not allowed.\n 2. A hostname may be prefixed with a wildcard label (`*.`). The wildcard\n label must appear by itself as the first label.\n\nHostname can be \"precise\" which is a domain name without the terminating\ndot of a network host (e.g. \"foo.example.com\") or \"wildcard\", which is a\ndomain name prefixed with a single wildcard label (e.g. `*.example.com`).\n\nNote that as per RFC1035 and RFC1123, a *label* must consist of lower case\nalphanumeric characters or '-', and must start and end with an alphanumeric\ncharacter. No other punctuation is allowed.", - "maxLength": 253, - "minLength": 1, - "pattern": "^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", - "type": "string" - }, - "maxItems": 16, - "type": "array" - }, - "parentRefs": { - "description": "ParentRefs references the resources (usually Gateways) that a Route wants\nto be attached to. Note that the referenced parent resource needs to\nallow this for the attachment to be complete. For Gateways, that means\nthe Gateway needs to allow attachment from Routes of this kind and\nnamespace. For Services, that means the Service must either be in the same\nnamespace for a \"producer\" route, or the mesh implementation must support\nand allow \"consumer\" routes for the referenced Service. ReferenceGrant is\nnot applicable for governing ParentRefs to Services - it is not possible to\ncreate a \"producer\" route for a Service in a different namespace from the\nRoute.\n\nThere are two kinds of parent resources with \"Core\" support:\n\n* Gateway (Gateway conformance profile)\n* Service (Mesh conformance profile, ClusterIP Services only)\n\nThis API may be extended in the future to support additional kinds of parent\nresources.\n\nParentRefs must be _distinct_. This means either that:\n\n* They select different objects. If this is the case, then parentRef\n entries are distinct. In terms of fields, this means that the\n multi-part key defined by `group`, `kind`, `namespace`, and `name` must\n be unique across all parentRef entries in the Route.\n* They do not select different objects, but for each optional field used,\n each ParentRef that selects the same object must set the same set of\n optional fields to different values. If one ParentRef sets a\n combination of optional fields, all must set the same combination.\n\nSome examples:\n\n* If one ParentRef sets `sectionName`, all ParentRefs referencing the\n same object must also set `sectionName`.\n* If one ParentRef sets `port`, all ParentRefs referencing the same\n object must also set `port`.\n* If one ParentRef sets `sectionName` and `port`, all ParentRefs\n referencing the same object must also set `sectionName` and `port`.\n\nIt is possible to separately reference multiple distinct objects that may\nbe collapsed by an implementation. For example, some implementations may\nchoose to merge compatible Gateway Listeners together. If that is the\ncase, the list of routes attached to those resources should also be\nmerged.\n\nNote that for ParentRefs that cross namespace boundaries, there are specific\nrules. Cross-namespace references are only valid if they are explicitly\nallowed by something in the namespace they are referring to. For example,\nGateway has the AllowedRoutes field, and ReferenceGrant provides a\ngeneric way to enable other kinds of cross-namespace reference.", - "items": { - "description": "ParentReference identifies an API object (usually a Gateway) that can be considered\na parent of this resource (usually a route). There are two kinds of parent resources\nwith \"Core\" support:\n\n* Gateway (Gateway conformance profile)\n* Service (Mesh conformance profile, ClusterIP Services only)\n\nThis API may be extended in the future to support additional kinds of parent\nresources.\n\nThe API object must be valid in the cluster; the Group and Kind must\nbe registered in the cluster for this reference to be valid.", - "properties": { - "group": { - "description": "Group is the group of the referent.\nWhen unspecified, \"gateway.networking.k8s.io\" is inferred.\nTo set the core API group (such as for a \"Service\" kind referent),\nGroup must be explicitly set to \"\" (empty string).\n\nSupport: Core", - "maxLength": 253, - "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", - "type": "string" - }, - "kind": { - "description": "Kind is kind of the referent.\n\nThere are two kinds of parent resources with \"Core\" support:\n\n* Gateway (Gateway conformance profile)\n* Service (Mesh conformance profile, ClusterIP Services only)\n\nSupport for other resources is Implementation-Specific.", - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", - "type": "string" - }, - "name": { - "description": "Name is the name of the referent.\n\nSupport: Core", - "maxLength": 253, - "minLength": 1, - "type": "string" - }, - "namespace": { - "description": "Namespace is the namespace of the referent. When unspecified, this refers\nto the local namespace of the Route.\n\nNote that there are specific rules for ParentRefs which cross namespace\nboundaries. Cross-namespace references are only valid if they are explicitly\nallowed by something in the namespace they are referring to. For example:\nGateway has the AllowedRoutes field, and ReferenceGrant provides a\ngeneric way to enable any other kind of cross-namespace reference.\n\nSupport: Core", - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", - "type": "string" - }, - "port": { - "description": "Port is the network port this Route targets. It can be interpreted\ndifferently based on the type of parent resource.\n\nWhen the parent resource is a Gateway, this targets all listeners\nlistening on the specified port that also support this kind of Route(and\nselect this Route). It's not recommended to set `Port` unless the\nnetworking behaviors specified in a Route must apply to a specific port\nas opposed to a listener(s) whose port(s) may be changed. When both Port\nand SectionName are specified, the name and port of the selected listener\nmust match both specified values.\n\nImplementations MAY choose to support other parent resources.\nImplementations supporting other types of parent resources MUST clearly\ndocument how/if Port is interpreted.\n\nFor the purpose of status, an attachment is considered successful as\nlong as the parent resource accepts it partially. For example, Gateway\nlisteners can restrict which Routes can attach to them by Route kind,\nnamespace, or hostname. If 1 of 2 Gateway listeners accept attachment\nfrom the referencing Route, the Route MUST be considered successfully\nattached. If no Gateway listeners accept attachment from this Route,\nthe Route MUST be considered detached from the Gateway.\n\nSupport: Extended", - "format": "int32", - "maximum": 65535, - "minimum": 1, - "type": "integer" - }, - "sectionName": { - "description": "SectionName is the name of a section within the target resource. In the\nfollowing resources, SectionName is interpreted as the following:\n\n* Gateway: Listener name. When both Port (experimental) and SectionName\nare specified, the name and port of the selected listener must match\nboth specified values.\n* Service: Port name. When both Port (experimental) and SectionName\nare specified, the name and port of the selected listener must match\nboth specified values.\n\nImplementations MAY choose to support attaching Routes to other resources.\nIf that is the case, they MUST clearly document how SectionName is\ninterpreted.\n\nWhen unspecified (empty string), this will reference the entire resource.\nFor the purpose of status, an attachment is considered successful if at\nleast one section in the parent resource accepts it. For example, Gateway\nlisteners can restrict which Routes can attach to them by Route kind,\nnamespace, or hostname. If 1 of 2 Gateway listeners accept attachment from\nthe referencing Route, the Route MUST be considered successfully\nattached. If no Gateway listeners accept attachment from this Route, the\nRoute MUST be considered detached from the Gateway.\n\nSupport: Core", - "maxLength": 253, - "minLength": 1, - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "maxItems": 32, - "type": "array", - "x-kubernetes-validations": [ - { - "message": "sectionName must be specified when parentRefs includes 2 or more references to the same parent", - "rule": "self.all(p1, self.all(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) ? ((!has(p1.sectionName) || p1.sectionName == '') == (!has(p2.sectionName) || p2.sectionName == '')) : true))" - }, - { - "message": "sectionName must be unique when parentRefs includes 2 or more references to the same parent", - "rule": "self.all(p1, self.exists_one(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) \u0026\u0026 (((!has(p1.sectionName) || p1.sectionName == '') \u0026\u0026 (!has(p2.sectionName) || p2.sectionName == '')) || (has(p1.sectionName) \u0026\u0026 has(p2.sectionName) \u0026\u0026 p1.sectionName == p2.sectionName))))" - } - ] - }, - "rules": { - "description": "Rules are a list of GRPC matchers, filters and actions.", - "items": { - "description": "GRPCRouteRule defines the semantics for matching a gRPC request based on\nconditions (matches), processing it (filters), and forwarding the request to\nan API object (backendRefs).", - "properties": { - "backendRefs": { - "description": "BackendRefs defines the backend(s) where matching requests should be\nsent.\n\nFailure behavior here depends on how many BackendRefs are specified and\nhow many are invalid.\n\nIf *all* entries in BackendRefs are invalid, and there are also no filters\nspecified in this route rule, *all* traffic which matches this rule MUST\nreceive an `UNAVAILABLE` status.\n\nSee the GRPCBackendRef definition for the rules about what makes a single\nGRPCBackendRef invalid.\n\nWhen a GRPCBackendRef is invalid, `UNAVAILABLE` statuses MUST be returned for\nrequests that would have otherwise been routed to an invalid backend. If\nmultiple backends are specified, and some are invalid, the proportion of\nrequests that would otherwise have been routed to an invalid backend\nMUST receive an `UNAVAILABLE` status.\n\nFor example, if two backends are specified with equal weights, and one is\ninvalid, 50 percent of traffic MUST receive an `UNAVAILABLE` status.\nImplementations may choose how that 50 percent is determined.\n\nSupport: Core for Kubernetes Service\n\nSupport: Implementation-specific for any other resource\n\nSupport for weight: Core", - "items": { - "description": "GRPCBackendRef defines how a GRPCRoute forwards a gRPC request.\n\nNote that when a namespace different than the local namespace is specified, a\nReferenceGrant object is required in the referent namespace to allow that\nnamespace's owner to accept the reference. See the ReferenceGrant\ndocumentation for details.", - "properties": { - "filters": { - "description": "Filters defined at this level MUST be executed if and only if the\nrequest is being forwarded to the backend defined here.\n\nSupport: Implementation-specific (For broader support of filters, use the\nFilters field in GRPCRouteRule.)", - "items": { - "description": "GRPCRouteFilter defines processing steps that must be completed during the\nrequest or response lifecycle. GRPCRouteFilters are meant as an extension\npoint to express processing that may be done in Gateway implementations. Some\nexamples include request or response modification, implementing\nauthentication strategies, rate-limiting, and traffic shaping. API\nguarantee/conformance is defined based on the type of the filter.", - "properties": { - "extensionRef": { - "description": "ExtensionRef is an optional, implementation-specific extension to the\n\"filter\" behavior. For example, resource \"myroutefilter\" in group\n\"networking.example.net\"). ExtensionRef MUST NOT be used for core and\nextended filters.\n\nSupport: Implementation-specific\n\nThis filter can be used multiple times within the same rule.", - "properties": { - "group": { - "description": "Group is the group of the referent. For example, \"gateway.networking.k8s.io\".\nWhen unspecified or empty string, core API group is inferred.", - "maxLength": 253, - "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", - "type": "string" - }, - "kind": { - "description": "Kind is kind of the referent. For example \"HTTPRoute\" or \"Service\".", - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", - "type": "string" - }, - "name": { - "description": "Name is the name of the referent.", - "maxLength": 253, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "group", - "kind", - "name" - ], - "type": "object" - }, - "requestHeaderModifier": { - "description": "RequestHeaderModifier defines a schema for a filter that modifies request\nheaders.\n\nSupport: Core", - "properties": { - "add": { - "description": "Add adds the given header(s) (name, value) to the request\nbefore the action. It appends to any existing values associated\nwith the header name.\n\nInput:\n GET /foo HTTP/1.1\n my-header: foo\n\nConfig:\n add:\n - name: \"my-header\"\n value: \"bar,baz\"\n\nOutput:\n GET /foo HTTP/1.1\n my-header: foo,bar,baz", - "items": { - "description": "HTTPHeader represents an HTTP Header name and value as defined by RFC 7230.", - "properties": { - "name": { - "description": "Name is the name of the HTTP Header to be matched. Name matching MUST be\ncase-insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2).\n\nIf multiple entries specify equivalent header names, the first entry with\nan equivalent name MUST be considered for a match. Subsequent entries\nwith an equivalent header name MUST be ignored. Due to the\ncase-insensitivity of header names, \"foo\" and \"Foo\" are considered\nequivalent.", - "maxLength": 256, - "minLength": 1, - "pattern": "^[A-Za-z0-9!#$%\u0026'*+\\-.^_\\x60|~]+$", - "type": "string" - }, - "value": { - "description": "Value is the value of HTTP Header to be matched.", - "maxLength": 4096, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array", - "x-kubernetes-list-map-keys": [ - "name" - ], - "x-kubernetes-list-type": "map" - }, - "remove": { - "description": "Remove the given header(s) from the HTTP request before the action. The\nvalue of Remove is a list of HTTP header names. Note that the header\nnames are case-insensitive (see\nhttps://datatracker.ietf.org/doc/html/rfc2616#section-4.2).\n\nInput:\n GET /foo HTTP/1.1\n my-header1: foo\n my-header2: bar\n my-header3: baz\n\nConfig:\n remove: [\"my-header1\", \"my-header3\"]\n\nOutput:\n GET /foo HTTP/1.1\n my-header2: bar", - "items": { - "type": "string" - }, - "maxItems": 16, - "type": "array", - "x-kubernetes-list-type": "set" - }, - "set": { - "description": "Set overwrites the request with the given header (name, value)\nbefore the action.\n\nInput:\n GET /foo HTTP/1.1\n my-header: foo\n\nConfig:\n set:\n - name: \"my-header\"\n value: \"bar\"\n\nOutput:\n GET /foo HTTP/1.1\n my-header: bar", - "items": { - "description": "HTTPHeader represents an HTTP Header name and value as defined by RFC 7230.", - "properties": { - "name": { - "description": "Name is the name of the HTTP Header to be matched. Name matching MUST be\ncase-insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2).\n\nIf multiple entries specify equivalent header names, the first entry with\nan equivalent name MUST be considered for a match. Subsequent entries\nwith an equivalent header name MUST be ignored. Due to the\ncase-insensitivity of header names, \"foo\" and \"Foo\" are considered\nequivalent.", - "maxLength": 256, - "minLength": 1, - "pattern": "^[A-Za-z0-9!#$%\u0026'*+\\-.^_\\x60|~]+$", - "type": "string" - }, - "value": { - "description": "Value is the value of HTTP Header to be matched.", - "maxLength": 4096, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array", - "x-kubernetes-list-map-keys": [ - "name" - ], - "x-kubernetes-list-type": "map" - } - }, - "type": "object" - }, - "requestMirror": { - "description": "RequestMirror defines a schema for a filter that mirrors requests.\nRequests are sent to the specified destination, but responses from\nthat destination are ignored.\n\nThis filter can be used multiple times within the same rule. Note that\nnot all implementations will be able to support mirroring to multiple\nbackends.\n\nSupport: Extended", - "properties": { - "backendRef": { - "description": "BackendRef references a resource where mirrored requests are sent.\n\nMirrored requests must be sent only to a single destination endpoint\nwithin this BackendRef, irrespective of how many endpoints are present\nwithin this BackendRef.\n\nIf the referent cannot be found, this BackendRef is invalid and must be\ndropped from the Gateway. The controller must ensure the \"ResolvedRefs\"\ncondition on the Route status is set to `status: False` and not configure\nthis backend in the underlying implementation.\n\nIf there is a cross-namespace reference to an *existing* object\nthat is not allowed by a ReferenceGrant, the controller must ensure the\n\"ResolvedRefs\" condition on the Route is set to `status: False`,\nwith the \"RefNotPermitted\" reason and not configure this backend in the\nunderlying implementation.\n\nIn either error case, the Message of the `ResolvedRefs` Condition\nshould be used to provide more detail about the problem.\n\nSupport: Extended for Kubernetes Service\n\nSupport: Implementation-specific for any other resource", - "properties": { - "group": { - "description": "Group is the group of the referent. For example, \"gateway.networking.k8s.io\".\nWhen unspecified or empty string, core API group is inferred.", - "maxLength": 253, - "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "preconditions": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions", + "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned." + }, + "propagationPolicy": { + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "admission.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "admission.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "admissionregistration.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "admissionregistration.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "admissionregistration.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "apiextensions.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "apiextensions.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "apiregistration.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "apiregistration.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "apps", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "apps", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "apps", + "kind": "DeleteOptions", + "version": "v1beta2" + }, + { + "group": "authentication.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "authentication.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "authentication.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "authorization.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "authorization.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "autoscaling", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "autoscaling", + "kind": "DeleteOptions", + "version": "v2" + }, + { + "group": "autoscaling", + "kind": "DeleteOptions", + "version": "v2beta1" + }, + { + "group": "autoscaling", + "kind": "DeleteOptions", + "version": "v2beta2" + }, + { + "group": "batch", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "batch", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "certificates.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "certificates.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "certificates.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "coordination.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "coordination.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha2" + }, + { + "group": "coordination.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "discovery.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "discovery.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "events.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "events.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "extensions", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta2" + }, + { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta3" + }, + { + "group": "imagepolicy.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "internal.apiserver.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "networking.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "networking.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "node.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "node.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "node.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "policy", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "policy", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "rbac.authorization.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "rbac.authorization.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "rbac.authorization.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "resource.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "resource.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha3" + }, + { + "group": "resource.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "resource.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta2" + }, + { + "group": "scheduling.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "scheduling.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "scheduling.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "storage.k8s.io", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "storage.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "storage.k8s.io", + "kind": "DeleteOptions", + "version": "v1beta1" + }, + { + "group": "storagemigration.k8s.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + } + ] + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.FieldSelectorRequirement": { + "description": "FieldSelectorRequirement is a selector that contains values, a key, and an operator that relates the key and values.", + "properties": { + "key": { + "description": "key is the field selector key that the requirement applies to.", + "type": "string" + }, + "operator": { + "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. The list of operators may grow in the future.", + "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.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "required": [ + "key", + "operator" + ], + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.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:\u003cname\u003e', where \u003cname\u003e is the name of a field in a struct, or key in a map 'v:\u003cvalue\u003e', where \u003cvalue\u003e is the exact json formatted value of a list item 'i:\u003cindex\u003e', where \u003cindex\u003e is position of a item in a list 'k:\u003ckeys\u003e', where \u003ckeys\u003e is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff", + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery": { + "description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.", + "properties": { + "groupVersion": { + "description": "groupVersion specifies the API group and version in the form \"group/version\"", + "type": "string" + }, + "version": { + "description": "version specifies the version in the form of \"version\". This is to save the clients the trouble of splitting the GroupVersion.", + "type": "string" + } + }, + "required": [ + "groupVersion", + "version" + ], + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.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": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "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" + } + }, + "type": "object", + "x-kubernetes-map-type": "atomic" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement": { + "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" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "required": [ + "key", + "operator" + ], + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta": { + "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", + "properties": { + "continue": { + "description": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.", + "type": "string" + }, + "remainingItemCount": { + "description": "remainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact.", + "format": "int64", + "type": "integer" + }, + "resourceVersion": { + "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency", + "type": "string" + }, + "selfLink": { + "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.", + "type": "string" + } + }, + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry": { + "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" + }, + "fieldsType": { + "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"", + "type": "string" + }, + "fieldsV1": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1", + "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type." + }, + "manager": { + "description": "Manager is an identifier of the workflow managing these fields.", + "type": "string" + }, + "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" + }, + "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 resource.", + "type": "string" + }, + "time": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", + "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over." + } + }, + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.MicroTime": { + "description": "MicroTime is version of Time with microsecond level precision.", + "format": "date-time", + "type": "string" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "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" + }, + "creationTimestamp": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + }, + "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" + }, + "deletionTimestamp": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + }, + "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 the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.", + "items": { + "type": "string" + }, + "type": "array", + "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 specified and the generated name exists, the server will return a 409.\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency", + "type": "string" + }, + "generation": { + "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.", + "format": "int64", + "type": "integer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "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" + }, + "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": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry" + }, + "type": "array", + "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" + }, + "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" + }, + "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": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference" + }, + "type": "array", + "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 treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency", + "type": "string" + }, + "selfLink": { + "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.", + "type": "string" + }, + "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" + } + }, + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference": { + "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 (Unprocessable Entity) will be returned.", + "type": "boolean" + }, + "controller": { + "description": "If true, this reference points to the managing controller.", + "type": "boolean" + }, + "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", + "x-kubernetes-map-type": "atomic" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Patch": { + "description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.", + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions": { + "description": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", + "properties": { + "resourceVersion": { + "description": "Specifies the target ResourceVersion", + "type": "string" + }, + "uid": { + "description": "Specifies the target UID.", + "type": "string" + } + }, + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR": { + "description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.", + "properties": { + "clientCIDR": { + "description": "The CIDR with which clients can match their IP to figure out the server address that they should use.", + "type": "string" + }, + "serverAddress": { + "description": "Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port.", + "type": "string" + } + }, + "required": [ + "clientCIDR", + "serverAddress" + ], + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Status": { + "description": "Status is a return value for calls that don't return other objects.", + "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" + }, + "code": { + "description": "Suggested HTTP return code for this status, 0 if not set.", + "format": "int32", + "type": "integer" + }, + "details": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails", + "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.", + "x-kubernetes-list-type": "atomic" + }, + "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" + }, + "message": { + "description": "A human-readable description of the status of this operation.", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + }, + "reason": { + "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.", + "type": "string" + }, + "status": { + "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", + "type": "string" + } + }, + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "Status", + "version": "v1" + } + ] + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause": { + "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", + "properties": { + "field": { + "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"", + "type": "string" + }, + "message": { + "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader.", + "type": "string" + }, + "reason": { + "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available.", + "type": "string" + } + }, + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails": { + "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", + "properties": { + "causes": { + "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "group": { + "description": "The group attribute of the resource associated with the status StatusReason.", + "type": "string" + }, + "kind": { + "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).", + "type": "string" + }, + "retryAfterSeconds": { + "description": "If specified, the time in seconds before the operation should be retried. Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action.", + "format": "int32", + "type": "integer" + }, + "uid": { + "description": "UID of the resource. (when there is a single resource which can be described). More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids", + "type": "string" + } + }, + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.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" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent": { + "description": "Event represents a single event to a watched resource.", + "properties": { + "object": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension", + "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context." + }, + "type": { + "type": "string" + } + }, + "required": [ + "type", + "object" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "admission.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "admission.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "admissionregistration.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "admissionregistration.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "admissionregistration.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "apiextensions.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "apiextensions.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "apiregistration.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "apiregistration.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "apps", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "apps", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "apps", + "kind": "WatchEvent", + "version": "v1beta2" + }, + { + "group": "authentication.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "authentication.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "authentication.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "authorization.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "authorization.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "autoscaling", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "autoscaling", + "kind": "WatchEvent", + "version": "v2" + }, + { + "group": "autoscaling", + "kind": "WatchEvent", + "version": "v2beta1" + }, + { + "group": "autoscaling", + "kind": "WatchEvent", + "version": "v2beta2" + }, + { + "group": "batch", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "batch", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "certificates.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "certificates.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "certificates.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "coordination.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "coordination.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha2" + }, + { + "group": "coordination.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "discovery.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "discovery.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "events.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "events.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "extensions", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "WatchEvent", + "version": "v1beta2" + }, + { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "WatchEvent", + "version": "v1beta3" + }, + { + "group": "imagepolicy.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "internal.apiserver.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "networking.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "networking.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "node.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "node.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "node.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "policy", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "policy", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "rbac.authorization.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "rbac.authorization.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "rbac.authorization.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "resource.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "resource.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha3" + }, + { + "group": "resource.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "resource.k8s.io", + "kind": "WatchEvent", + "version": "v1beta2" + }, + { + "group": "scheduling.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "scheduling.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "scheduling.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "storage.k8s.io", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "storage.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "storage.k8s.io", + "kind": "WatchEvent", + "version": "v1beta1" + }, + { + "group": "storagemigration.k8s.io", + "kind": "WatchEvent", + "version": "v1alpha1" + } + ] + }, + "io.k8s.apimachinery.pkg.runtime.RawExtension": { + "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.Object `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// External package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// On the wire, the JSON will look something like this:\n\n\t{\n\t\t\"kind\":\"MyAPIObject\",\n\t\t\"apiVersion\":\"v1\",\n\t\t\"myPlugin\": {\n\t\t\t\"kind\":\"PluginA\",\n\t\t\t\"aOption\":\"foo\",\n\t\t},\n\t}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", + "type": "object" + }, + "io.k8s.apimachinery.pkg.util.intstr.IntOrString": { + "description": "IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number.", + "format": "int-or-string", + "type": "string" + }, + "io.k8s.apimachinery.pkg.version.Info": { + "description": "Info contains versioning information. how we'll want to distribute that information.", + "properties": { + "buildDate": { + "type": "string" + }, + "compiler": { + "type": "string" + }, + "emulationMajor": { + "description": "EmulationMajor is the major version of the emulation version", + "type": "string" + }, + "emulationMinor": { + "description": "EmulationMinor is the minor version of the emulation version", + "type": "string" + }, + "gitCommit": { + "type": "string" + }, + "gitTreeState": { + "type": "string" + }, + "gitVersion": { + "type": "string" + }, + "goVersion": { + "type": "string" + }, + "major": { + "description": "Major is the major version of the binary version", + "type": "string" + }, + "minCompatibilityMajor": { + "description": "MinCompatibilityMajor is the major version of the minimum compatibility version", + "type": "string" + }, + "minCompatibilityMinor": { + "description": "MinCompatibilityMinor is the minor version of the minimum compatibility version", + "type": "string" + }, + "minor": { + "description": "Minor is the minor version of the binary version", + "type": "string" + }, + "platform": { + "type": "string" + } + }, + "required": [ + "major", + "minor", + "gitVersion", + "gitCommit", + "gitTreeState", + "buildDate", + "goVersion", + "compiler", + "platform" + ], + "type": "object" + }, + "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService": { + "description": "APIService represents a server for a particular GroupVersion. Name must be \"version.group\".", + "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" + }, + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + }, + "spec": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceSpec", + "description": "Spec contains information for locating and communicating with a server" + }, + "status": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceStatus", + "description": "Status contains derived information about an API server" + } + }, + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "apiregistration.k8s.io", + "kind": "APIService", + "version": "v1" + } + ] + }, + "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceCondition": { + "description": "APIServiceCondition describes the state of an APIService at a particular point", + "properties": { + "lastTransitionTime": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time", + "description": "Last time the condition transitioned from one status to another." + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "required": [ + "type", + "status" + ], + "type": "object" + }, + "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceList": { + "description": "APIServiceList is a list of APIService objects.", + "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" + }, + "items": { + "description": "Items is the list of APIService", + "items": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + }, + "type": "array" + }, + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + } + }, + "required": [ + "items" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "apiregistration.k8s.io", + "kind": "APIServiceList", + "version": "v1" + } + ] + }, + "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceSpec": { + "description": "APIServiceSpec contains information for locating and communicating with a server. Only https is supported, though you are able to disable certificate verification.", + "properties": { + "caBundle": { + "description": "CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate. If unspecified, system trust roots on the apiserver are used.", + "format": "byte", + "type": "string", + "x-kubernetes-list-type": "atomic" + }, + "group": { + "description": "Group is the API group name this server hosts", + "type": "string" + }, + "groupPriorityMinimum": { + "description": "GroupPriorityMinimum is the priority this group should have at least. Higher priority means that the group is preferred by clients over lower priority ones. Note that other versions of this group might specify even higher GroupPriorityMinimum values such that the whole group gets a higher priority. The primary sort is based on GroupPriorityMinimum, ordered highest number to lowest (20 before 10). The secondary sort is based on the alphabetical comparison of the name of the object. (v1.bar before v1.foo) We'd recommend something like: *.k8s.io (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended to be in the 2000s", + "format": "int32", + "type": "integer" + }, + "insecureSkipTLSVerify": { + "description": "InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server. This is strongly discouraged. You should use the CABundle instead.", + "type": "boolean" + }, + "service": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.ServiceReference", + "description": "Service is a reference to the service for this API server. It must communicate on port 443. If the Service is nil, that means the handling for the API groupversion is handled locally on this server. The call will simply delegate to the normal handler chain to be fulfilled." + }, + "version": { + "description": "Version is the API version this server hosts. For example, \"v1\"", + "type": "string" + }, + "versionPriority": { + "description": "VersionPriority controls the ordering of this API version inside of its group. Must be greater than zero. The primary sort is based on VersionPriority, ordered highest to lowest (20 before 10). Since it's inside of a group, the number can be small, probably in the 10s. In case of equal version priorities, the version string will be used to compute the order inside a group. If the version string is \"kube-like\", it will sort above non \"kube-like\" version strings, which are ordered lexicographically. \"Kube-like\" versions start with a \"v\", then are followed by a number (the major version), then optionally the string \"alpha\" or \"beta\" and another number (the minor version). These are sorted first by GA \u003e beta \u003e alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "groupPriorityMinimum", + "versionPriority" + ], + "type": "object" + }, + "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceStatus": { + "description": "APIServiceStatus contains derived information about an API server", + "properties": { + "conditions": { + "description": "Current service state of apiService.", + "items": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceCondition" + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "type", + "x-kubernetes-patch-strategy": "merge" + } + }, + "type": "object" + }, + "io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.ServiceReference": { + "description": "ServiceReference holds a reference to Service.legacy.k8s.io", + "properties": { + "name": { + "description": "Name is the name of the service", + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the service", + "type": "string" + }, + "port": { + "description": "If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. `port` should be a valid port number (1-65535, inclusive).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "io.k8s.networking.gateway.v1.GRPCRoute": { + "description": "GRPCRoute provides a way to route gRPC requests. This includes the capability\nto match requests by hostname, gRPC service, gRPC method, or HTTP/2 header.\nFilters can be used to specify additional processing steps. Backends specify\nwhere matching requests will be routed.\n\nGRPCRoute falls under extended support within the Gateway API. Within the\nfollowing specification, the word \"MUST\" indicates that an implementation\nsupporting GRPCRoute must conform to the indicated requirement, but an\nimplementation not supporting this route type need not follow the requirement\nunless explicitly indicated.\n\nImplementations supporting `GRPCRoute` with the `HTTPS` `ProtocolType` MUST\naccept HTTP/2 connections without an initial upgrade from HTTP/1.1, i.e. via\nALPN. If the implementation does not support this, then it MUST set the\n\"Accepted\" condition to \"False\" for the affected listener with a reason of\n\"UnsupportedProtocol\". Implementations MAY also accept HTTP/2 connections\nwith an upgrade from HTTP/1.\n\nImplementations supporting `GRPCRoute` with the `HTTP` `ProtocolType` MUST\nsupport HTTP/2 over cleartext TCP (h2c,\nhttps://www.rfc-editor.org/rfc/rfc7540#section-3.1) without an initial\nupgrade from HTTP/1.1, i.e. with prior knowledge\n(https://www.rfc-editor.org/rfc/rfc7540#section-3.4). If the implementation\ndoes not support this, then it MUST set the \"Accepted\" condition to \"False\"\nfor the affected listener with a reason of \"UnsupportedProtocol\".\nImplementations MAY also accept HTTP/2 connections with an upgrade from\nHTTP/1, i.e. without prior knowledge.", + "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" + }, + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + }, + "spec": { + "description": "Spec defines the desired state of GRPCRoute.", + "properties": { + "hostnames": { + "description": "Hostnames defines a set of hostnames to match against the GRPC\nHost header to select a GRPCRoute to process the request. This matches\nthe RFC 1123 definition of a hostname with 2 notable exceptions:\n\n1. IPs are not allowed.\n2. A hostname may be prefixed with a wildcard label (`*.`). The wildcard\n label MUST appear by itself as the first label.\n\nIf a hostname is specified by both the Listener and GRPCRoute, there\nMUST be at least one intersecting hostname for the GRPCRoute to be\nattached to the Listener. For example:\n\n* A Listener with `test.example.com` as the hostname matches GRPCRoutes\n that have either not specified any hostnames, or have specified at\n least one of `test.example.com` or `*.example.com`.\n* A Listener with `*.example.com` as the hostname matches GRPCRoutes\n that have either not specified any hostnames or have specified at least\n one hostname that matches the Listener hostname. For example,\n `test.example.com` and `*.example.com` would both match. On the other\n hand, `example.com` and `test.example.net` would not match.\n\nHostnames that are prefixed with a wildcard label (`*.`) are interpreted\nas a suffix match. That means that a match for `*.example.com` would match\nboth `test.example.com`, and `foo.test.example.com`, but not `example.com`.\n\nIf both the Listener and GRPCRoute have specified hostnames, any\nGRPCRoute hostnames that do not match the Listener hostname MUST be\nignored. For example, if a Listener specified `*.example.com`, and the\nGRPCRoute specified `test.example.com` and `test.example.net`,\n`test.example.net` MUST NOT be considered for a match.\n\nIf both the Listener and GRPCRoute have specified hostnames, and none\nmatch with the criteria above, then the GRPCRoute MUST NOT be accepted by\nthe implementation. The implementation MUST raise an 'Accepted' Condition\nwith a status of `False` in the corresponding RouteParentStatus.\n\nIf a Route (A) of type HTTPRoute or GRPCRoute is attached to a\nListener and that listener already has another Route (B) of the other\ntype attached and the intersection of the hostnames of A and B is\nnon-empty, then the implementation MUST accept exactly one of these two\nroutes, determined by the following criteria, in order:\n\n* The oldest Route based on creation timestamp.\n* The Route appearing first in alphabetical order by\n \"{namespace}/{name}\".\n\nThe rejected Route MUST raise an 'Accepted' condition with a status of\n'False' in the corresponding RouteParentStatus.\n\nSupport: Core", + "items": { + "description": "Hostname is the fully qualified domain name of a network host. This matches\nthe RFC 1123 definition of a hostname with 2 notable exceptions:\n\n 1. IPs are not allowed.\n 2. A hostname may be prefixed with a wildcard label (`*.`). The wildcard\n label must appear by itself as the first label.\n\nHostname can be \"precise\" which is a domain name without the terminating\ndot of a network host (e.g. \"foo.example.com\") or \"wildcard\", which is a\ndomain name prefixed with a single wildcard label (e.g. `*.example.com`).\n\nNote that as per RFC1035 and RFC1123, a *label* must consist of lower case\nalphanumeric characters or '-', and must start and end with an alphanumeric\ncharacter. No other punctuation is allowed.", + "maxLength": 253, + "minLength": 1, + "pattern": "^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + }, + "maxItems": 16, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "parentRefs": { + "description": "ParentRefs references the resources (usually Gateways) that a Route wants\nto be attached to. Note that the referenced parent resource needs to\nallow this for the attachment to be complete. For Gateways, that means\nthe Gateway needs to allow attachment from Routes of this kind and\nnamespace. For Services, that means the Service must either be in the same\nnamespace for a \"producer\" route, or the mesh implementation must support\nand allow \"consumer\" routes for the referenced Service. ReferenceGrant is\nnot applicable for governing ParentRefs to Services - it is not possible to\ncreate a \"producer\" route for a Service in a different namespace from the\nRoute.\n\nThere are two kinds of parent resources with \"Core\" support:\n\n* Gateway (Gateway conformance profile)\n* Service (Mesh conformance profile, ClusterIP Services only)\n\nThis API may be extended in the future to support additional kinds of parent\nresources.\n\nParentRefs must be _distinct_. This means either that:\n\n* They select different objects. If this is the case, then parentRef\n entries are distinct. In terms of fields, this means that the\n multi-part key defined by `group`, `kind`, `namespace`, and `name` must\n be unique across all parentRef entries in the Route.\n* They do not select different objects, but for each optional field used,\n each ParentRef that selects the same object must set the same set of\n optional fields to different values. If one ParentRef sets a\n combination of optional fields, all must set the same combination.\n\nSome examples:\n\n* If one ParentRef sets `sectionName`, all ParentRefs referencing the\n same object must also set `sectionName`.\n* If one ParentRef sets `port`, all ParentRefs referencing the same\n object must also set `port`.\n* If one ParentRef sets `sectionName` and `port`, all ParentRefs\n referencing the same object must also set `sectionName` and `port`.\n\nIt is possible to separately reference multiple distinct objects that may\nbe collapsed by an implementation. For example, some implementations may\nchoose to merge compatible Gateway Listeners together. If that is the\ncase, the list of routes attached to those resources should also be\nmerged.\n\nNote that for ParentRefs that cross namespace boundaries, there are specific\nrules. Cross-namespace references are only valid if they are explicitly\nallowed by something in the namespace they are referring to. For example,\nGateway has the AllowedRoutes field, and ReferenceGrant provides a\ngeneric way to enable other kinds of cross-namespace reference.", + "items": { + "description": "ParentReference identifies an API object (usually a Gateway) that can be considered\na parent of this resource (usually a route). There are two kinds of parent resources\nwith \"Core\" support:\n\n* Gateway (Gateway conformance profile)\n* Service (Mesh conformance profile, ClusterIP Services only)\n\nThis API may be extended in the future to support additional kinds of parent\nresources.\n\nThe API object must be valid in the cluster; the Group and Kind must\nbe registered in the cluster for this reference to be valid.", + "properties": { + "group": { + "description": "Group is the group of the referent.\nWhen unspecified, \"gateway.networking.k8s.io\" is inferred.\nTo set the core API group (such as for a \"Service\" kind referent),\nGroup must be explicitly set to \"\" (empty string).\n\nSupport: Core", + "maxLength": 253, + "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + }, + "kind": { + "description": "Kind is kind of the referent.\n\nThere are two kinds of parent resources with \"Core\" support:\n\n* Gateway (Gateway conformance profile)\n* Service (Mesh conformance profile, ClusterIP Services only)\n\nSupport for other resources is Implementation-Specific.", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", + "type": "string" + }, + "name": { + "description": "Name is the name of the referent.\n\nSupport: Core", + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the referent. When unspecified, this refers\nto the local namespace of the Route.\n\nNote that there are specific rules for ParentRefs which cross namespace\nboundaries. Cross-namespace references are only valid if they are explicitly\nallowed by something in the namespace they are referring to. For example:\nGateway has the AllowedRoutes field, and ReferenceGrant provides a\ngeneric way to enable any other kind of cross-namespace reference.\n\nSupport: Core", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", + "type": "string" + }, + "port": { + "description": "Port is the network port this Route targets. It can be interpreted\ndifferently based on the type of parent resource.\n\nWhen the parent resource is a Gateway, this targets all listeners\nlistening on the specified port that also support this kind of Route(and\nselect this Route). It's not recommended to set `Port` unless the\nnetworking behaviors specified in a Route must apply to a specific port\nas opposed to a listener(s) whose port(s) may be changed. When both Port\nand SectionName are specified, the name and port of the selected listener\nmust match both specified values.\n\nImplementations MAY choose to support other parent resources.\nImplementations supporting other types of parent resources MUST clearly\ndocument how/if Port is interpreted.\n\nFor the purpose of status, an attachment is considered successful as\nlong as the parent resource accepts it partially. For example, Gateway\nlisteners can restrict which Routes can attach to them by Route kind,\nnamespace, or hostname. If 1 of 2 Gateway listeners accept attachment\nfrom the referencing Route, the Route MUST be considered successfully\nattached. If no Gateway listeners accept attachment from this Route,\nthe Route MUST be considered detached from the Gateway.\n\nSupport: Extended", + "format": "int32", + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "sectionName": { + "description": "SectionName is the name of a section within the target resource. In the\nfollowing resources, SectionName is interpreted as the following:\n\n* Gateway: Listener name. When both Port (experimental) and SectionName\nare specified, the name and port of the selected listener must match\nboth specified values.\n* Service: Port name. When both Port (experimental) and SectionName\nare specified, the name and port of the selected listener must match\nboth specified values.\n\nImplementations MAY choose to support attaching Routes to other resources.\nIf that is the case, they MUST clearly document how SectionName is\ninterpreted.\n\nWhen unspecified (empty string), this will reference the entire resource.\nFor the purpose of status, an attachment is considered successful if at\nleast one section in the parent resource accepts it. For example, Gateway\nlisteners can restrict which Routes can attach to them by Route kind,\nnamespace, or hostname. If 1 of 2 Gateway listeners accept attachment from\nthe referencing Route, the Route MUST be considered successfully\nattached. If no Gateway listeners accept attachment from this Route, the\nRoute MUST be considered detached from the Gateway.\n\nSupport: Core", + "maxLength": 253, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "maxItems": 32, + "type": "array", + "x-kubernetes-list-type": "atomic", + "x-kubernetes-validations": [ + { + "message": "sectionName must be specified when parentRefs includes 2 or more references to the same parent", + "rule": "self.all(p1, self.all(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) ? ((!has(p1.sectionName) || p1.sectionName == '') == (!has(p2.sectionName) || p2.sectionName == '')) : true))" + }, + { + "message": "sectionName must be unique when parentRefs includes 2 or more references to the same parent", + "rule": "self.all(p1, self.exists_one(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) \u0026\u0026 (((!has(p1.sectionName) || p1.sectionName == '') \u0026\u0026 (!has(p2.sectionName) || p2.sectionName == '')) || (has(p1.sectionName) \u0026\u0026 has(p2.sectionName) \u0026\u0026 p1.sectionName == p2.sectionName))))" + } + ] + }, + "rules": { + "description": "Rules are a list of GRPC matchers, filters and actions.", + "items": { + "description": "GRPCRouteRule defines the semantics for matching a gRPC request based on\nconditions (matches), processing it (filters), and forwarding the request to\nan API object (backendRefs).", + "properties": { + "backendRefs": { + "description": "BackendRefs defines the backend(s) where matching requests should be\nsent.\n\nFailure behavior here depends on how many BackendRefs are specified and\nhow many are invalid.\n\nIf *all* entries in BackendRefs are invalid, and there are also no filters\nspecified in this route rule, *all* traffic which matches this rule MUST\nreceive an `UNAVAILABLE` status.\n\nSee the GRPCBackendRef definition for the rules about what makes a single\nGRPCBackendRef invalid.\n\nWhen a GRPCBackendRef is invalid, `UNAVAILABLE` statuses MUST be returned for\nrequests that would have otherwise been routed to an invalid backend. If\nmultiple backends are specified, and some are invalid, the proportion of\nrequests that would otherwise have been routed to an invalid backend\nMUST receive an `UNAVAILABLE` status.\n\nFor example, if two backends are specified with equal weights, and one is\ninvalid, 50 percent of traffic MUST receive an `UNAVAILABLE` status.\nImplementations may choose how that 50 percent is determined.\n\nSupport: Core for Kubernetes Service\n\nSupport: Implementation-specific for any other resource\n\nSupport for weight: Core", + "items": { + "description": "GRPCBackendRef defines how a GRPCRoute forwards a gRPC request.\n\nNote that when a namespace different than the local namespace is specified, a\nReferenceGrant object is required in the referent namespace to allow that\nnamespace's owner to accept the reference. See the ReferenceGrant\ndocumentation for details.", + "properties": { + "filters": { + "description": "Filters defined at this level MUST be executed if and only if the\nrequest is being forwarded to the backend defined here.\n\nSupport: Implementation-specific (For broader support of filters, use the\nFilters field in GRPCRouteRule.)", + "items": { + "description": "GRPCRouteFilter defines processing steps that must be completed during the\nrequest or response lifecycle. GRPCRouteFilters are meant as an extension\npoint to express processing that may be done in Gateway implementations. Some\nexamples include request or response modification, implementing\nauthentication strategies, rate-limiting, and traffic shaping. API\nguarantee/conformance is defined based on the type of the filter.", + "properties": { + "extensionRef": { + "description": "ExtensionRef is an optional, implementation-specific extension to the\n\"filter\" behavior. For example, resource \"myroutefilter\" in group\n\"networking.example.net\"). ExtensionRef MUST NOT be used for core and\nextended filters.\n\nSupport: Implementation-specific\n\nThis filter can be used multiple times within the same rule.", + "properties": { + "group": { + "description": "Group is the group of the referent. For example, \"gateway.networking.k8s.io\".\nWhen unspecified or empty string, core API group is inferred.", + "maxLength": 253, + "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + }, + "kind": { + "description": "Kind is kind of the referent. For example \"HTTPRoute\" or \"Service\".", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", + "type": "string" + }, + "name": { + "description": "Name is the name of the referent.", + "maxLength": 253, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "group", + "kind", + "name" + ], + "type": "object" + }, + "requestHeaderModifier": { + "description": "RequestHeaderModifier defines a schema for a filter that modifies request\nheaders.\n\nSupport: Core", + "properties": { + "add": { + "description": "Add adds the given header(s) (name, value) to the request\nbefore the action. It appends to any existing values associated\nwith the header name.\n\nInput:\n GET /foo HTTP/1.1\n my-header: foo\n\nConfig:\n add:\n - name: \"my-header\"\n value: \"bar,baz\"\n\nOutput:\n GET /foo HTTP/1.1\n my-header: foo,bar,baz", + "items": { + "description": "HTTPHeader represents an HTTP Header name and value as defined by RFC 7230.", + "properties": { + "name": { + "description": "Name is the name of the HTTP Header to be matched. Name matching MUST be\ncase-insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2).\n\nIf multiple entries specify equivalent header names, the first entry with\nan equivalent name MUST be considered for a match. Subsequent entries\nwith an equivalent header name MUST be ignored. Due to the\ncase-insensitivity of header names, \"foo\" and \"Foo\" are considered\nequivalent.", + "maxLength": 256, + "minLength": 1, + "pattern": "^[A-Za-z0-9!#$%\u0026'*+\\-.^_\\x60|~]+$", + "type": "string" + }, + "value": { + "description": "Value is the value of HTTP Header to be matched.", + "maxLength": 4096, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "name", + "value" + ], + "type": "object" + }, + "maxItems": 16, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, + "remove": { + "description": "Remove the given header(s) from the HTTP request before the action. The\nvalue of Remove is a list of HTTP header names. Note that the header\nnames are case-insensitive (see\nhttps://datatracker.ietf.org/doc/html/rfc2616#section-4.2).\n\nInput:\n GET /foo HTTP/1.1\n my-header1: foo\n my-header2: bar\n my-header3: baz\n\nConfig:\n remove: [\"my-header1\", \"my-header3\"]\n\nOutput:\n GET /foo HTTP/1.1\n my-header2: bar", + "items": { + "type": "string" + }, + "maxItems": 16, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "set": { + "description": "Set overwrites the request with the given header (name, value)\nbefore the action.\n\nInput:\n GET /foo HTTP/1.1\n my-header: foo\n\nConfig:\n set:\n - name: \"my-header\"\n value: \"bar\"\n\nOutput:\n GET /foo HTTP/1.1\n my-header: bar", + "items": { + "description": "HTTPHeader represents an HTTP Header name and value as defined by RFC 7230.", + "properties": { + "name": { + "description": "Name is the name of the HTTP Header to be matched. Name matching MUST be\ncase-insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2).\n\nIf multiple entries specify equivalent header names, the first entry with\nan equivalent name MUST be considered for a match. Subsequent entries\nwith an equivalent header name MUST be ignored. Due to the\ncase-insensitivity of header names, \"foo\" and \"Foo\" are considered\nequivalent.", + "maxLength": 256, + "minLength": 1, + "pattern": "^[A-Za-z0-9!#$%\u0026'*+\\-.^_\\x60|~]+$", + "type": "string" + }, + "value": { + "description": "Value is the value of HTTP Header to be matched.", + "maxLength": 4096, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "name", + "value" + ], + "type": "object" + }, + "maxItems": 16, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + } + }, + "type": "object" + }, + "requestMirror": { + "description": "RequestMirror defines a schema for a filter that mirrors requests.\nRequests are sent to the specified destination, but responses from\nthat destination are ignored.\n\nThis filter can be used multiple times within the same rule. Note that\nnot all implementations will be able to support mirroring to multiple\nbackends.\n\nSupport: Extended", + "properties": { + "backendRef": { + "description": "BackendRef references a resource where mirrored requests are sent.\n\nMirrored requests must be sent only to a single destination endpoint\nwithin this BackendRef, irrespective of how many endpoints are present\nwithin this BackendRef.\n\nIf the referent cannot be found, this BackendRef is invalid and must be\ndropped from the Gateway. The controller must ensure the \"ResolvedRefs\"\ncondition on the Route status is set to `status: False` and not configure\nthis backend in the underlying implementation.\n\nIf there is a cross-namespace reference to an *existing* object\nthat is not allowed by a ReferenceGrant, the controller must ensure the\n\"ResolvedRefs\" condition on the Route is set to `status: False`,\nwith the \"RefNotPermitted\" reason and not configure this backend in the\nunderlying implementation.\n\nIn either error case, the Message of the `ResolvedRefs` Condition\nshould be used to provide more detail about the problem.\n\nSupport: Extended for Kubernetes Service\n\nSupport: Implementation-specific for any other resource", + "properties": { + "group": { + "description": "Group is the group of the referent. For example, \"gateway.networking.k8s.io\".\nWhen unspecified or empty string, core API group is inferred.", + "maxLength": 253, + "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", "type": "string" }, "kind": { @@ -17365,6 +18811,7 @@ }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "RequestHeaderModifier filter cannot be repeated", @@ -17429,7 +18876,8 @@ ] }, "maxItems": 16, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "filters": { "description": "Filters define the filters that are applied to requests that match\nthis rule.\n\nThe effects of ordering of multiple behaviors are currently unspecified.\nThis can change in the future based on feedback during the alpha stage.\n\nConformance-levels at this level are defined based on the type of filter:\n\n- ALL core filters MUST be supported by all implementations that support\n GRPCRoute.\n- Implementers are encouraged to support extended filters.\n- Implementation-specific custom filters have no API guarantees across\n implementations.\n\nSpecifying the same filter multiple times is not supported unless explicitly\nindicated in the filter.\n\nIf an implementation cannot support a combination of filters, it must clearly\ndocument that limitation. In cases where incompatible or unsupported\nfilters are specified and cause the `Accepted` condition to be set to status\n`False`, implementations may use the `IncompatibleFilters` reason to specify\nthis configuration error.\n\nSupport: Core", @@ -17771,6 +19219,7 @@ }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "RequestHeaderModifier filter cannot be repeated", @@ -17869,13 +19318,22 @@ "type": "object" }, "maxItems": 64, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "name": { + "description": "Name is the name of the route rule. This name MUST be unique within a Route if it is set.\n\nSupport: Extended", + "maxLength": 253, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" } }, "type": "object" }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "While 16 rules and 64 matches per rule are allowed, the total number of matches across all rules in a route must be less than 128", @@ -18013,13 +19471,15 @@ } }, "required": [ + "conditions", "controllerName", "parentRef" ], "type": "object" }, "maxItems": 32, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" } }, "required": [ @@ -18028,6 +19488,9 @@ "type": "object" } }, + "required": [ + "spec" + ], "type": "object", "x-kubernetes-group-version-kind": [ { @@ -18091,7 +19554,7 @@ "description": "Spec defines the desired state of Gateway.", "properties": { "addresses": { - "description": "Addresses requested for this Gateway. This is optional and behavior can\ndepend on the implementation. If a value is set in the spec and the\nrequested address is invalid or unavailable, the implementation MUST\nindicate this in the associated entry in GatewayStatus.Addresses.\n\nThe Addresses field represents a request for the address(es) on the\n\"outside of the Gateway\", that traffic bound for this Gateway will use.\nThis could be the IP address or hostname of an external load balancer or\nother networking infrastructure, or some other address that traffic will\nbe sent to.\n\nIf no Addresses are specified, the implementation MAY schedule the\nGateway in an implementation-specific manner, assigning an appropriate\nset of Addresses.\n\nThe implementation MUST bind all Listeners to every GatewayAddress that\nit assigns to the Gateway and add a corresponding entry in\nGatewayStatus.Addresses.\n\nSupport: Extended", + "description": "Addresses requested for this Gateway. This is optional and behavior can\ndepend on the implementation. If a value is set in the spec and the\nrequested address is invalid or unavailable, the implementation MUST\nindicate this in an associated entry in GatewayStatus.Conditions.\n\nThe Addresses field represents a request for the address(es) on the\n\"outside of the Gateway\", that traffic bound for this Gateway will use.\nThis could be the IP address or hostname of an external load balancer or\nother networking infrastructure, or some other address that traffic will\nbe sent to.\n\nIf no Addresses are specified, the implementation MAY schedule the\nGateway in an implementation-specific manner, assigning an appropriate\nset of Addresses.\n\nThe implementation MUST bind all Listeners to every GatewayAddress that\nit assigns to the Gateway and add a corresponding entry in\nGatewayStatus.Addresses.\n\nSupport: Extended", "items": { "description": "GatewaySpecAddress describes an address that can be bound to a Gateway.", "properties": { @@ -18111,21 +19574,22 @@ "type": "object", "x-kubernetes-validations": [ { - "message": "Hostname value must only contain valid characters (matching ^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$)", - "rule": "self.type == 'Hostname' ? self.value.matches(r\"\"\"^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\"\"\"): true" + "message": "Hostname value must be empty or contain only valid characters (matching ^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$)", + "rule": "self.type == 'Hostname' ? (!has(self.value) || self.value.matches(r\"\"\"^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\"\"\")): true" } ] }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "IPAddress values must be unique", - "rule": "self.all(a1, a1.type == 'IPAddress' ? self.exists_one(a2, a2.type == a1.type \u0026\u0026 a2.value == a1.value) : true )" + "rule": "self.all(a1, a1.type == 'IPAddress' \u0026\u0026 has(a1.value) ? self.exists_one(a2, a2.type == a1.type \u0026\u0026 has(a2.value) \u0026\u0026 a2.value == a1.value) : true )" }, { "message": "Hostname values must be unique", - "rule": "self.all(a1, a1.type == 'Hostname' ? self.exists_one(a2, a2.type == a1.type \u0026\u0026 a2.value == a1.value) : true )" + "rule": "self.all(a1, a1.type == 'Hostname' \u0026\u0026 has(a1.value) ? self.exists_one(a2, a2.type == a1.type \u0026\u0026 has(a2.value) \u0026\u0026 a2.value == a1.value) : true )" } ] }, @@ -18247,7 +19711,8 @@ "type": "object" }, "maxItems": 8, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "namespaces": { "description": "Namespaces indicates namespaces from which Routes may be attached to this\nListener. This is restricted to the namespace of this Gateway by default.\n\nSupport: Core", @@ -18341,7 +19806,7 @@ "type": "string" }, "tls": { - "description": "TLS is the TLS configuration for the Listener. This field is required if\nthe Protocol field is \"HTTPS\" or \"TLS\". It is invalid to set this field\nif the Protocol field is \"HTTP\", \"TCP\", or \"UDP\".\n\nThe association of SNIs to Certificate defined in GatewayTLSConfig is\ndefined based on the Hostname field for this listener.\n\nThe GatewayClass MUST use the longest matching SNI out of all\navailable certificates for any TLS handshake.\n\nSupport: Core", + "description": "TLS is the TLS configuration for the Listener. This field is required if\nthe Protocol field is \"HTTPS\" or \"TLS\". It is invalid to set this field\nif the Protocol field is \"HTTP\", \"TCP\", or \"UDP\".\n\nThe association of SNIs to Certificate defined in ListenerTLSConfig is\ndefined based on the Hostname field for this listener.\n\nThe GatewayClass MUST use the longest matching SNI out of all\navailable certificates for any TLS handshake.\n\nSupport: Core", "properties": { "certificateRefs": { "description": "CertificateRefs contains a series of references to Kubernetes objects that\ncontains TLS certificates and private keys. These certificates are used to\nestablish a TLS handshake for requests that match the hostname of the\nassociated listener.\n\nA single CertificateRef to a Kubernetes Secret has \"Core\" support.\nImplementations MAY choose to support attaching multiple certificates to\na Listener, but this behavior is implementation-specific.\n\nReferences to a resource in different namespace are invalid UNLESS there\nis a ReferenceGrant in the target namespace that allows the certificate\nto be attached. If a ReferenceGrant does not allow this reference, the\n\"ResolvedRefs\" condition MUST be set to False for this listener with the\n\"RefNotPermitted\" reason.\n\nThis field is required to have at least one element when the mode is set\nto \"Terminate\" (default) and is optional otherwise.\n\nCertificateRefs can reference to standard Kubernetes resources, i.e.\nSecret, or implementation-specific custom resources.\n\nSupport: Core - A single reference to a Kubernetes Secret of type kubernetes.io/tls\n\nSupport: Implementation-specific (More than one reference or other resource types)", @@ -18381,7 +19846,8 @@ "type": "object" }, "maxItems": 64, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "mode": { "description": "Mode defines the TLS behavior for the TLS session initiated by the client.\nThere are two possible modes:\n\n- Terminate: The TLS session between the downstream client and the\n Gateway is terminated at the Gateway. This mode requires certificates\n to be specified in some way, such as populating the certificateRefs\n field.\n- Passthrough: The TLS session is NOT terminated by the Gateway. This\n implies that the Gateway can't decipher the TLS stream except for\n the ClientHello message of the TLS protocol. The certificateRefs field\n is ignored in this mode.\n\nSupport: Core", @@ -18490,7 +19956,8 @@ ] }, "maxItems": 16, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "conditions": { "description": "Conditions describe the current conditions of the Gateway.\n\nImplementations should prefer to express Gateway conditions\nusing the `GatewayConditionType` and `GatewayConditionReason`\nconstants so that operators and tools can converge on a common\nvocabulary to describe Gateway state.\n\nKnown condition types are:\n\n* \"Accepted\"\n* \"Programmed\"\n* \"Ready\"", @@ -18552,116 +20019,296 @@ ], "x-kubernetes-list-type": "map" }, - "listeners": { - "description": "Listeners provide status for each unique listener port defined in the Spec.", + "listeners": { + "description": "Listeners provide status for each unique listener port defined in the Spec.", + "items": { + "description": "ListenerStatus is the status associated with a Listener.", + "properties": { + "attachedRoutes": { + "description": "AttachedRoutes represents the total number of Routes that have been\nsuccessfully attached to this Listener.\n\nSuccessful attachment of a Route to a Listener is based solely on the\ncombination of the AllowedRoutes field on the corresponding Listener\nand the Route's ParentRefs field. A Route is successfully attached to\na Listener when it is selected by the Listener's AllowedRoutes field\nAND the Route has a valid ParentRef selecting the whole Gateway\nresource or a specific Listener as a parent resource (more detail on\nattachment semantics can be found in the documentation on the various\nRoute kinds ParentRefs fields). Listener or Route status does not impact\nsuccessful attachment, i.e. the AttachedRoutes field count MUST be set\nfor Listeners with condition Accepted: false and MUST count successfully\nattached Routes that may themselves have Accepted: false conditions.\n\nUses for this field include troubleshooting Route attachment and\nmeasuring blast radius/impact of changes to a Listener.", + "format": "int32", + "type": "integer" + }, + "conditions": { + "description": "Conditions describe the current condition of this listener.", + "items": { + "description": "Condition contains details for one aspect of the current state of this API Resource.", + "properties": { + "lastTransitionTime": { + "description": "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "message is a human readable message indicating details about the transition.\nThis may be an empty string.", + "maxLength": 32768, + "type": "string" + }, + "observedGeneration": { + "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "minimum": 0, + "type": "integer" + }, + "reason": { + "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.", + "maxLength": 1024, + "minLength": 1, + "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", + "type": "string" + }, + "status": { + "description": "status of the condition, one of True, False, Unknown.", + "enum": [ + "True", + "False", + "Unknown" + ], + "type": "string" + }, + "type": { + "description": "type of condition in CamelCase or in foo.example.com/CamelCase.", + "maxLength": 316, + "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "message", + "reason", + "status", + "type" + ], + "type": "object" + }, + "maxItems": 8, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "name": { + "description": "Name is the name of the Listener that this status corresponds to.", + "maxLength": 253, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + }, + "supportedKinds": { + "description": "SupportedKinds is the list indicating the Kinds supported by this\nlistener. This MUST represent the kinds an implementation supports for\nthat Listener configuration.\n\nIf kinds are specified in Spec that are not supported, they MUST NOT\nappear in this list and an implementation MUST set the \"ResolvedRefs\"\ncondition to \"False\" with the \"InvalidRouteKinds\" reason. If both valid\nand invalid Route kinds are specified, the implementation MUST\nreference the valid Route kinds that have been specified.", + "items": { + "description": "RouteGroupKind indicates the group and kind of a Route resource.", + "properties": { + "group": { + "description": "Group is the group of the Route.", + "maxLength": 253, + "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + }, + "kind": { + "description": "Kind is the kind of the Route.", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "maxItems": 8, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "required": [ + "attachedRoutes", + "conditions", + "name", + "supportedKinds" + ], + "type": "object" + }, + "maxItems": 64, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + } + }, + "type": "object" + } + }, + "required": [ + "spec" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "gateway.networking.k8s.io", + "kind": "Gateway", + "version": "v1" + } + ] + }, + "io.k8s.networking.gateway.v1.GatewayClass": { + "description": "GatewayClass describes a class of Gateways available to the user for creating\nGateway resources.\n\nIt is recommended that this resource be used as a template for Gateways. This\nmeans that a Gateway is based on the state of the GatewayClass at the time it\nwas created and changes to the GatewayClass or associated parameters are not\npropagated down to existing Gateways. This recommendation is intended to\nlimit the blast radius of changes to GatewayClass or associated parameters.\nIf implementations choose to propagate GatewayClass changes to existing\nGateways, that MUST be clearly documented by the implementation.\n\nWhenever one or more Gateways are using a GatewayClass, implementations SHOULD\nadd the `gateway-exists-finalizer.gateway.networking.k8s.io` finalizer on the\nassociated GatewayClass. This ensures that a GatewayClass associated with a\nGateway is not deleted while in use.\n\nGatewayClass is a Cluster level resource.", + "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" + }, + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + }, + "spec": { + "description": "Spec defines the desired state of GatewayClass.", + "properties": { + "controllerName": { + "description": "ControllerName is the name of the controller that is managing Gateways of\nthis class. The value of this field MUST be a domain prefixed path.\n\nExample: \"example.net/gateway-controller\".\n\nThis field is not mutable and cannot be empty.\n\nSupport: Core", + "maxLength": 253, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\\/[A-Za-z0-9\\/\\-._~%!$\u0026'()*+,;=:]+$", + "type": "string", + "x-kubernetes-validations": [ + { + "message": "Value is immutable", + "rule": "self == oldSelf" + } + ] + }, + "description": { + "description": "Description helps describe a GatewayClass with more details.", + "maxLength": 64, + "type": "string" + }, + "parametersRef": { + "description": "ParametersRef is a reference to a resource that contains the configuration\nparameters corresponding to the GatewayClass. This is optional if the\ncontroller does not require any additional configuration.\n\nParametersRef can reference a standard Kubernetes resource, i.e. ConfigMap,\nor an implementation-specific custom resource. The resource can be\ncluster-scoped or namespace-scoped.\n\nIf the referent cannot be found, refers to an unsupported kind, or when\nthe data within that resource is malformed, the GatewayClass SHOULD be\nrejected with the \"Accepted\" status condition set to \"False\" and an\n\"InvalidParameters\" reason.\n\nA Gateway for this GatewayClass may provide its own `parametersRef`. When both are specified,\nthe merging behavior is implementation specific.\nIt is generally recommended that GatewayClass provides defaults that can be overridden by a Gateway.\n\nSupport: Implementation-specific", + "properties": { + "group": { + "description": "Group is the group of the referent.", + "maxLength": 253, + "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + }, + "kind": { + "description": "Kind is kind of the referent.", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", + "type": "string" + }, + "name": { + "description": "Name is the name of the referent.", + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the referent.\nThis field is required when referring to a Namespace-scoped resource and\nMUST be unset when referring to a Cluster-scoped resource.", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", + "type": "string" + } + }, + "required": [ + "group", + "kind", + "name" + ], + "type": "object" + } + }, + "required": [ + "controllerName" + ], + "type": "object" + }, + "status": { + "description": "Status defines the current state of GatewayClass.\n\nImplementations MUST populate status on all GatewayClass resources which\nspecify their controller name.", + "properties": { + "conditions": { + "description": "Conditions is the current status from the controller for\nthis GatewayClass.\n\nControllers should prefer to publish conditions using values\nof GatewayClassConditionType for the type of each Condition.", + "items": { + "description": "Condition contains details for one aspect of the current state of this API Resource.", + "properties": { + "lastTransitionTime": { + "description": "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "message is a human readable message indicating details about the transition.\nThis may be an empty string.", + "maxLength": 32768, + "type": "string" + }, + "observedGeneration": { + "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "minimum": 0, + "type": "integer" + }, + "reason": { + "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.", + "maxLength": 1024, + "minLength": 1, + "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", + "type": "string" + }, + "status": { + "description": "status of the condition, one of True, False, Unknown.", + "enum": [ + "True", + "False", + "Unknown" + ], + "type": "string" + }, + "type": { + "description": "type of condition in CamelCase or in foo.example.com/CamelCase.", + "maxLength": 316, + "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "message", + "reason", + "status", + "type" + ], + "type": "object" + }, + "maxItems": 8, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "supportedFeatures": { + "description": "SupportedFeatures is the set of features the GatewayClass support.\nIt MUST be sorted in ascending alphabetical order by the Name key.", "items": { - "description": "ListenerStatus is the status associated with a Listener.", "properties": { - "attachedRoutes": { - "description": "AttachedRoutes represents the total number of Routes that have been\nsuccessfully attached to this Listener.\n\nSuccessful attachment of a Route to a Listener is based solely on the\ncombination of the AllowedRoutes field on the corresponding Listener\nand the Route's ParentRefs field. A Route is successfully attached to\na Listener when it is selected by the Listener's AllowedRoutes field\nAND the Route has a valid ParentRef selecting the whole Gateway\nresource or a specific Listener as a parent resource (more detail on\nattachment semantics can be found in the documentation on the various\nRoute kinds ParentRefs fields). Listener or Route status does not impact\nsuccessful attachment, i.e. the AttachedRoutes field count MUST be set\nfor Listeners with condition Accepted: false and MUST count successfully\nattached Routes that may themselves have Accepted: false conditions.\n\nUses for this field include troubleshooting Route attachment and\nmeasuring blast radius/impact of changes to a Listener.", - "format": "int32", - "type": "integer" - }, - "conditions": { - "description": "Conditions describe the current condition of this listener.", - "items": { - "description": "Condition contains details for one aspect of the current state of this API Resource.", - "properties": { - "lastTransitionTime": { - "description": "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", - "format": "date-time", - "type": "string" - }, - "message": { - "description": "message is a human readable message indicating details about the transition.\nThis may be an empty string.", - "maxLength": 32768, - "type": "string" - }, - "observedGeneration": { - "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "reason": { - "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.", - "maxLength": 1024, - "minLength": 1, - "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", - "type": "string" - }, - "status": { - "description": "status of the condition, one of True, False, Unknown.", - "enum": [ - "True", - "False", - "Unknown" - ], - "type": "string" - }, - "type": { - "description": "type of condition in CamelCase or in foo.example.com/CamelCase.", - "maxLength": 316, - "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", - "type": "string" - } - }, - "required": [ - "lastTransitionTime", - "message", - "reason", - "status", - "type" - ], - "type": "object" - }, - "maxItems": 8, - "type": "array", - "x-kubernetes-list-map-keys": [ - "type" - ], - "x-kubernetes-list-type": "map" - }, "name": { - "description": "Name is the name of the Listener that this status corresponds to.", - "maxLength": 253, - "minLength": 1, - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "description": "FeatureName is used to describe distinct features that are covered by\nconformance tests.", "type": "string" - }, - "supportedKinds": { - "description": "SupportedKinds is the list indicating the Kinds supported by this\nlistener. This MUST represent the kinds an implementation supports for\nthat Listener configuration.\n\nIf kinds are specified in Spec that are not supported, they MUST NOT\nappear in this list and an implementation MUST set the \"ResolvedRefs\"\ncondition to \"False\" with the \"InvalidRouteKinds\" reason. If both valid\nand invalid Route kinds are specified, the implementation MUST\nreference the valid Route kinds that have been specified.", - "items": { - "description": "RouteGroupKind indicates the group and kind of a Route resource.", - "properties": { - "group": { - "description": "Group is the group of the Route.", - "maxLength": 253, - "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", - "type": "string" - }, - "kind": { - "description": "Kind is the kind of the Route.", - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - "maxItems": 8, - "type": "array" } }, "required": [ - "attachedRoutes", - "conditions", - "name", - "supportedKinds" + "name" ], "type": "object" }, @@ -18680,164 +20327,6 @@ "spec" ], "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" - } - ] - }, - "io.k8s.networking.gateway.v1.GatewayClass": { - "description": "GatewayClass describes a class of Gateways available to the user for creating\nGateway resources.\n\nIt is recommended that this resource be used as a template for Gateways. This\nmeans that a Gateway is based on the state of the GatewayClass at the time it\nwas created and changes to the GatewayClass or associated parameters are not\npropagated down to existing Gateways. This recommendation is intended to\nlimit the blast radius of changes to GatewayClass or associated parameters.\nIf implementations choose to propagate GatewayClass changes to existing\nGateways, that MUST be clearly documented by the implementation.\n\nWhenever one or more Gateways are using a GatewayClass, implementations SHOULD\nadd the `gateway-exists-finalizer.gateway.networking.k8s.io` finalizer on the\nassociated GatewayClass. This ensures that a GatewayClass associated with a\nGateway is not deleted while in use.\n\nGatewayClass is a Cluster level resource.", - "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" - }, - "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" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "spec": { - "description": "Spec defines the desired state of GatewayClass.", - "properties": { - "controllerName": { - "description": "ControllerName is the name of the controller that is managing Gateways of\nthis class. The value of this field MUST be a domain prefixed path.\n\nExample: \"example.net/gateway-controller\".\n\nThis field is not mutable and cannot be empty.\n\nSupport: Core", - "maxLength": 253, - "minLength": 1, - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\\/[A-Za-z0-9\\/\\-._~%!$\u0026'()*+,;=:]+$", - "type": "string", - "x-kubernetes-validations": [ - { - "message": "Value is immutable", - "rule": "self == oldSelf" - } - ] - }, - "description": { - "description": "Description helps describe a GatewayClass with more details.", - "maxLength": 64, - "type": "string" - }, - "parametersRef": { - "description": "ParametersRef is a reference to a resource that contains the configuration\nparameters corresponding to the GatewayClass. This is optional if the\ncontroller does not require any additional configuration.\n\nParametersRef can reference a standard Kubernetes resource, i.e. ConfigMap,\nor an implementation-specific custom resource. The resource can be\ncluster-scoped or namespace-scoped.\n\nIf the referent cannot be found, refers to an unsupported kind, or when\nthe data within that resource is malformed, the GatewayClass SHOULD be\nrejected with the \"Accepted\" status condition set to \"False\" and an\n\"InvalidParameters\" reason.\n\nA Gateway for this GatewayClass may provide its own `parametersRef`. When both are specified,\nthe merging behavior is implementation specific.\nIt is generally recommended that GatewayClass provides defaults that can be overridden by a Gateway.\n\nSupport: Implementation-specific", - "properties": { - "group": { - "description": "Group is the group of the referent.", - "maxLength": 253, - "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", - "type": "string" - }, - "kind": { - "description": "Kind is kind of the referent.", - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", - "type": "string" - }, - "name": { - "description": "Name is the name of the referent.", - "maxLength": 253, - "minLength": 1, - "type": "string" - }, - "namespace": { - "description": "Namespace is the namespace of the referent.\nThis field is required when referring to a Namespace-scoped resource and\nMUST be unset when referring to a Cluster-scoped resource.", - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", - "type": "string" - } - }, - "required": [ - "group", - "kind", - "name" - ], - "type": "object" - } - }, - "required": [ - "controllerName" - ], - "type": "object" - }, - "status": { - "description": "Status defines the current state of GatewayClass.\n\nImplementations MUST populate status on all GatewayClass resources which\nspecify their controller name.", - "properties": { - "conditions": { - "description": "Conditions is the current status from the controller for\nthis GatewayClass.\n\nControllers should prefer to publish conditions using values\nof GatewayClassConditionType for the type of each Condition.", - "items": { - "description": "Condition contains details for one aspect of the current state of this API Resource.", - "properties": { - "lastTransitionTime": { - "description": "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", - "format": "date-time", - "type": "string" - }, - "message": { - "description": "message is a human readable message indicating details about the transition.\nThis may be an empty string.", - "maxLength": 32768, - "type": "string" - }, - "observedGeneration": { - "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "reason": { - "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.", - "maxLength": 1024, - "minLength": 1, - "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", - "type": "string" - }, - "status": { - "description": "status of the condition, one of True, False, Unknown.", - "enum": [ - "True", - "False", - "Unknown" - ], - "type": "string" - }, - "type": { - "description": "type of condition in CamelCase or in foo.example.com/CamelCase.", - "maxLength": 316, - "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", - "type": "string" - } - }, - "required": [ - "lastTransitionTime", - "message", - "reason", - "status", - "type" - ], - "type": "object" - }, - "maxItems": 8, - "type": "array", - "x-kubernetes-list-map-keys": [ - "type" - ], - "x-kubernetes-list-type": "map" - } - }, - "type": "object" - } - }, - "required": [ - "spec" - ], - "type": "object", "x-kubernetes-group-version-kind": [ { "group": "gateway.networking.k8s.io", @@ -18944,7 +20433,8 @@ "type": "string" }, "maxItems": 16, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "parentRefs": { "description": "ParentRefs references the resources (usually Gateways) that a Route wants\nto be attached to. Note that the referenced parent resource needs to\nallow this for the attachment to be complete. For Gateways, that means\nthe Gateway needs to allow attachment from Routes of this kind and\nnamespace. For Services, that means the Service must either be in the same\nnamespace for a \"producer\" route, or the mesh implementation must support\nand allow \"consumer\" routes for the referenced Service. ReferenceGrant is\nnot applicable for governing ParentRefs to Services - it is not possible to\ncreate a \"producer\" route for a Service in a different namespace from the\nRoute.\n\nThere are two kinds of parent resources with \"Core\" support:\n\n* Gateway (Gateway conformance profile)\n* Service (Mesh conformance profile, ClusterIP Services only)\n\nThis API may be extended in the future to support additional kinds of parent\nresources.\n\nParentRefs must be _distinct_. This means either that:\n\n* They select different objects. If this is the case, then parentRef\n entries are distinct. In terms of fields, this means that the\n multi-part key defined by `group`, `kind`, `namespace`, and `name` must\n be unique across all parentRef entries in the Route.\n* They do not select different objects, but for each optional field used,\n each ParentRef that selects the same object must set the same set of\n optional fields to different values. If one ParentRef sets a\n combination of optional fields, all must set the same combination.\n\nSome examples:\n\n* If one ParentRef sets `sectionName`, all ParentRefs referencing the\n same object must also set `sectionName`.\n* If one ParentRef sets `port`, all ParentRefs referencing the same\n object must also set `port`.\n* If one ParentRef sets `sectionName` and `port`, all ParentRefs\n referencing the same object must also set `sectionName` and `port`.\n\nIt is possible to separately reference multiple distinct objects that may\nbe collapsed by an implementation. For example, some implementations may\nchoose to merge compatible Gateway Listeners together. If that is the\ncase, the list of routes attached to those resources should also be\nmerged.\n\nNote that for ParentRefs that cross namespace boundaries, there are specific\nrules. Cross-namespace references are only valid if they are explicitly\nallowed by something in the namespace they are referring to. For example,\nGateway has the AllowedRoutes field, and ReferenceGrant provides a\ngeneric way to enable other kinds of cross-namespace reference.", @@ -18999,6 +20489,7 @@ }, "maxItems": 32, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "sectionName must be specified when parentRefs includes 2 or more references to the same parent", @@ -19517,11 +21008,8 @@ }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ - { - "message": "May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both", - "rule": "!(self.exists(f, f.type == 'RequestRedirect') \u0026\u0026 self.exists(f, f.type == 'URLRewrite'))" - }, { "message": "May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both", "rule": "!(self.exists(f, f.type == 'RequestRedirect') \u0026\u0026 self.exists(f, f.type == 'URLRewrite'))" @@ -19597,7 +21085,8 @@ ] }, "maxItems": 16, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "filters": { "description": "Filters define the filters that are applied to requests that match\nthis rule.\n\nWherever possible, implementations SHOULD implement filters in the order\nthey are specified.\n\nImplementations MAY choose to implement this ordering strictly, rejecting\nany combination or order of filters that cannot be supported. If implementations\nchoose a strict interpretation of filter ordering, they MUST clearly document\nthat behavior.\n\nTo reject an invalid combination or order of filters, implementations SHOULD\nconsider the Route Rules with this configuration invalid. If all Route Rules\nin a Route are invalid, the entire Route would be considered invalid. If only\na portion of Route Rules are invalid, implementations MUST set the\n\"PartiallyInvalid\" condition for the Route.\n\nConformance-levels at this level are defined based on the type of filter:\n\n- ALL core filters MUST be supported by all implementations.\n- Implementers are encouraged to support extended filters.\n- Implementation-specific custom filters have no API guarantees across\n implementations.\n\nSpecifying the same filter multiple times is not supported unless explicitly\nindicated in the filter.\n\nAll filters are expected to be compatible with each other except for the\nURLRewrite and RequestRedirect filters, which may not be combined. If an\nimplementation cannot support other combinations of filters, they must clearly\ndocument that limitation. In cases where incompatible or unsupported\nfilters are specified and cause the `Accepted` condition to be set to status\n`False`, implementations may use the `IncompatibleFilters` reason to specify\nthis configuration error.\n\nSupport: Core", @@ -20096,6 +21585,7 @@ }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both", @@ -20289,7 +21779,15 @@ "type": "object" }, "maxItems": 64, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "name": { + "description": "Name is the name of the route rule. This name MUST be unique within a Route if it is set.\n\nSupport: Extended", + "maxLength": 253, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" }, "timeouts": { "description": "Timeouts defines the timeouts that can be configured for an HTTP request.\n\nSupport: Extended", @@ -20340,6 +21838,7 @@ }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "While 16 rules and 64 matches per rule are allowed, the total number of matches across all rules in a route must be less than 128", @@ -20477,13 +21976,15 @@ } }, "required": [ + "conditions", "controllerName", "parentRef" ], "type": "object" }, "maxItems": 32, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" } }, "required": [ @@ -20558,7 +22059,7 @@ "description": "Spec defines the desired state of Gateway.", "properties": { "addresses": { - "description": "Addresses requested for this Gateway. This is optional and behavior can\ndepend on the implementation. If a value is set in the spec and the\nrequested address is invalid or unavailable, the implementation MUST\nindicate this in the associated entry in GatewayStatus.Addresses.\n\nThe Addresses field represents a request for the address(es) on the\n\"outside of the Gateway\", that traffic bound for this Gateway will use.\nThis could be the IP address or hostname of an external load balancer or\nother networking infrastructure, or some other address that traffic will\nbe sent to.\n\nIf no Addresses are specified, the implementation MAY schedule the\nGateway in an implementation-specific manner, assigning an appropriate\nset of Addresses.\n\nThe implementation MUST bind all Listeners to every GatewayAddress that\nit assigns to the Gateway and add a corresponding entry in\nGatewayStatus.Addresses.\n\nSupport: Extended", + "description": "Addresses requested for this Gateway. This is optional and behavior can\ndepend on the implementation. If a value is set in the spec and the\nrequested address is invalid or unavailable, the implementation MUST\nindicate this in an associated entry in GatewayStatus.Conditions.\n\nThe Addresses field represents a request for the address(es) on the\n\"outside of the Gateway\", that traffic bound for this Gateway will use.\nThis could be the IP address or hostname of an external load balancer or\nother networking infrastructure, or some other address that traffic will\nbe sent to.\n\nIf no Addresses are specified, the implementation MAY schedule the\nGateway in an implementation-specific manner, assigning an appropriate\nset of Addresses.\n\nThe implementation MUST bind all Listeners to every GatewayAddress that\nit assigns to the Gateway and add a corresponding entry in\nGatewayStatus.Addresses.\n\nSupport: Extended", "items": { "description": "GatewaySpecAddress describes an address that can be bound to a Gateway.", "properties": { @@ -20578,21 +22079,22 @@ "type": "object", "x-kubernetes-validations": [ { - "message": "Hostname value must only contain valid characters (matching ^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$)", - "rule": "self.type == 'Hostname' ? self.value.matches(r\"\"\"^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\"\"\"): true" + "message": "Hostname value must be empty or contain only valid characters (matching ^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$)", + "rule": "self.type == 'Hostname' ? (!has(self.value) || self.value.matches(r\"\"\"^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$\"\"\")): true" } ] }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "IPAddress values must be unique", - "rule": "self.all(a1, a1.type == 'IPAddress' ? self.exists_one(a2, a2.type == a1.type \u0026\u0026 a2.value == a1.value) : true )" + "rule": "self.all(a1, a1.type == 'IPAddress' \u0026\u0026 has(a1.value) ? self.exists_one(a2, a2.type == a1.type \u0026\u0026 has(a2.value) \u0026\u0026 a2.value == a1.value) : true )" }, { "message": "Hostname values must be unique", - "rule": "self.all(a1, a1.type == 'Hostname' ? self.exists_one(a2, a2.type == a1.type \u0026\u0026 a2.value == a1.value) : true )" + "rule": "self.all(a1, a1.type == 'Hostname' \u0026\u0026 has(a1.value) ? self.exists_one(a2, a2.type == a1.type \u0026\u0026 has(a2.value) \u0026\u0026 a2.value == a1.value) : true )" } ] }, @@ -20714,7 +22216,8 @@ "type": "object" }, "maxItems": 8, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "namespaces": { "description": "Namespaces indicates namespaces from which Routes may be attached to this\nListener. This is restricted to the namespace of this Gateway by default.\n\nSupport: Core", @@ -20808,7 +22311,7 @@ "type": "string" }, "tls": { - "description": "TLS is the TLS configuration for the Listener. This field is required if\nthe Protocol field is \"HTTPS\" or \"TLS\". It is invalid to set this field\nif the Protocol field is \"HTTP\", \"TCP\", or \"UDP\".\n\nThe association of SNIs to Certificate defined in GatewayTLSConfig is\ndefined based on the Hostname field for this listener.\n\nThe GatewayClass MUST use the longest matching SNI out of all\navailable certificates for any TLS handshake.\n\nSupport: Core", + "description": "TLS is the TLS configuration for the Listener. This field is required if\nthe Protocol field is \"HTTPS\" or \"TLS\". It is invalid to set this field\nif the Protocol field is \"HTTP\", \"TCP\", or \"UDP\".\n\nThe association of SNIs to Certificate defined in ListenerTLSConfig is\ndefined based on the Hostname field for this listener.\n\nThe GatewayClass MUST use the longest matching SNI out of all\navailable certificates for any TLS handshake.\n\nSupport: Core", "properties": { "certificateRefs": { "description": "CertificateRefs contains a series of references to Kubernetes objects that\ncontains TLS certificates and private keys. These certificates are used to\nestablish a TLS handshake for requests that match the hostname of the\nassociated listener.\n\nA single CertificateRef to a Kubernetes Secret has \"Core\" support.\nImplementations MAY choose to support attaching multiple certificates to\na Listener, but this behavior is implementation-specific.\n\nReferences to a resource in different namespace are invalid UNLESS there\nis a ReferenceGrant in the target namespace that allows the certificate\nto be attached. If a ReferenceGrant does not allow this reference, the\n\"ResolvedRefs\" condition MUST be set to False for this listener with the\n\"RefNotPermitted\" reason.\n\nThis field is required to have at least one element when the mode is set\nto \"Terminate\" (default) and is optional otherwise.\n\nCertificateRefs can reference to standard Kubernetes resources, i.e.\nSecret, or implementation-specific custom resources.\n\nSupport: Core - A single reference to a Kubernetes Secret of type kubernetes.io/tls\n\nSupport: Implementation-specific (More than one reference or other resource types)", @@ -20848,7 +22351,8 @@ "type": "object" }, "maxItems": 64, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "mode": { "description": "Mode defines the TLS behavior for the TLS session initiated by the client.\nThere are two possible modes:\n\n- Terminate: The TLS session between the downstream client and the\n Gateway is terminated at the Gateway. This mode requires certificates\n to be specified in some way, such as populating the certificateRefs\n field.\n- Passthrough: The TLS session is NOT terminated by the Gateway. This\n implies that the Gateway can't decipher the TLS stream except for\n the ClientHello message of the TLS protocol. The certificateRefs field\n is ignored in this mode.\n\nSupport: Core", @@ -20957,7 +22461,8 @@ ] }, "maxItems": 16, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "conditions": { "description": "Conditions describe the current conditions of the Gateway.\n\nImplementations should prefer to express Gateway conditions\nusing the `GatewayConditionType` and `GatewayConditionReason`\nconstants so that operators and tools can converge on a common\nvocabulary to describe Gateway state.\n\nKnown condition types are:\n\n* \"Accepted\"\n* \"Programmed\"\n* \"Ready\"", @@ -21019,116 +22524,296 @@ ], "x-kubernetes-list-type": "map" }, - "listeners": { - "description": "Listeners provide status for each unique listener port defined in the Spec.", + "listeners": { + "description": "Listeners provide status for each unique listener port defined in the Spec.", + "items": { + "description": "ListenerStatus is the status associated with a Listener.", + "properties": { + "attachedRoutes": { + "description": "AttachedRoutes represents the total number of Routes that have been\nsuccessfully attached to this Listener.\n\nSuccessful attachment of a Route to a Listener is based solely on the\ncombination of the AllowedRoutes field on the corresponding Listener\nand the Route's ParentRefs field. A Route is successfully attached to\na Listener when it is selected by the Listener's AllowedRoutes field\nAND the Route has a valid ParentRef selecting the whole Gateway\nresource or a specific Listener as a parent resource (more detail on\nattachment semantics can be found in the documentation on the various\nRoute kinds ParentRefs fields). Listener or Route status does not impact\nsuccessful attachment, i.e. the AttachedRoutes field count MUST be set\nfor Listeners with condition Accepted: false and MUST count successfully\nattached Routes that may themselves have Accepted: false conditions.\n\nUses for this field include troubleshooting Route attachment and\nmeasuring blast radius/impact of changes to a Listener.", + "format": "int32", + "type": "integer" + }, + "conditions": { + "description": "Conditions describe the current condition of this listener.", + "items": { + "description": "Condition contains details for one aspect of the current state of this API Resource.", + "properties": { + "lastTransitionTime": { + "description": "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "message is a human readable message indicating details about the transition.\nThis may be an empty string.", + "maxLength": 32768, + "type": "string" + }, + "observedGeneration": { + "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "minimum": 0, + "type": "integer" + }, + "reason": { + "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.", + "maxLength": 1024, + "minLength": 1, + "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", + "type": "string" + }, + "status": { + "description": "status of the condition, one of True, False, Unknown.", + "enum": [ + "True", + "False", + "Unknown" + ], + "type": "string" + }, + "type": { + "description": "type of condition in CamelCase or in foo.example.com/CamelCase.", + "maxLength": 316, + "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "message", + "reason", + "status", + "type" + ], + "type": "object" + }, + "maxItems": 8, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "name": { + "description": "Name is the name of the Listener that this status corresponds to.", + "maxLength": 253, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + }, + "supportedKinds": { + "description": "SupportedKinds is the list indicating the Kinds supported by this\nlistener. This MUST represent the kinds an implementation supports for\nthat Listener configuration.\n\nIf kinds are specified in Spec that are not supported, they MUST NOT\nappear in this list and an implementation MUST set the \"ResolvedRefs\"\ncondition to \"False\" with the \"InvalidRouteKinds\" reason. If both valid\nand invalid Route kinds are specified, the implementation MUST\nreference the valid Route kinds that have been specified.", + "items": { + "description": "RouteGroupKind indicates the group and kind of a Route resource.", + "properties": { + "group": { + "description": "Group is the group of the Route.", + "maxLength": 253, + "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + }, + "kind": { + "description": "Kind is the kind of the Route.", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "maxItems": 8, + "type": "array", + "x-kubernetes-list-type": "atomic" + } + }, + "required": [ + "attachedRoutes", + "conditions", + "name", + "supportedKinds" + ], + "type": "object" + }, + "maxItems": 64, + "type": "array", + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + } + }, + "type": "object" + } + }, + "required": [ + "spec" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "gateway.networking.k8s.io", + "kind": "Gateway", + "version": "v1beta1" + } + ] + }, + "io.k8s.networking.gateway.v1beta1.GatewayClass": { + "description": "GatewayClass describes a class of Gateways available to the user for creating\nGateway resources.\n\nIt is recommended that this resource be used as a template for Gateways. This\nmeans that a Gateway is based on the state of the GatewayClass at the time it\nwas created and changes to the GatewayClass or associated parameters are not\npropagated down to existing Gateways. This recommendation is intended to\nlimit the blast radius of changes to GatewayClass or associated parameters.\nIf implementations choose to propagate GatewayClass changes to existing\nGateways, that MUST be clearly documented by the implementation.\n\nWhenever one or more Gateways are using a GatewayClass, implementations SHOULD\nadd the `gateway-exists-finalizer.gateway.networking.k8s.io` finalizer on the\nassociated GatewayClass. This ensures that a GatewayClass associated with a\nGateway is not deleted while in use.\n\nGatewayClass is a Cluster level resource.", + "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" + }, + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + }, + "spec": { + "description": "Spec defines the desired state of GatewayClass.", + "properties": { + "controllerName": { + "description": "ControllerName is the name of the controller that is managing Gateways of\nthis class. The value of this field MUST be a domain prefixed path.\n\nExample: \"example.net/gateway-controller\".\n\nThis field is not mutable and cannot be empty.\n\nSupport: Core", + "maxLength": 253, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\\/[A-Za-z0-9\\/\\-._~%!$\u0026'()*+,;=:]+$", + "type": "string", + "x-kubernetes-validations": [ + { + "message": "Value is immutable", + "rule": "self == oldSelf" + } + ] + }, + "description": { + "description": "Description helps describe a GatewayClass with more details.", + "maxLength": 64, + "type": "string" + }, + "parametersRef": { + "description": "ParametersRef is a reference to a resource that contains the configuration\nparameters corresponding to the GatewayClass. This is optional if the\ncontroller does not require any additional configuration.\n\nParametersRef can reference a standard Kubernetes resource, i.e. ConfigMap,\nor an implementation-specific custom resource. The resource can be\ncluster-scoped or namespace-scoped.\n\nIf the referent cannot be found, refers to an unsupported kind, or when\nthe data within that resource is malformed, the GatewayClass SHOULD be\nrejected with the \"Accepted\" status condition set to \"False\" and an\n\"InvalidParameters\" reason.\n\nA Gateway for this GatewayClass may provide its own `parametersRef`. When both are specified,\nthe merging behavior is implementation specific.\nIt is generally recommended that GatewayClass provides defaults that can be overridden by a Gateway.\n\nSupport: Implementation-specific", + "properties": { + "group": { + "description": "Group is the group of the referent.", + "maxLength": 253, + "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + }, + "kind": { + "description": "Kind is kind of the referent.", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", + "type": "string" + }, + "name": { + "description": "Name is the name of the referent.", + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the referent.\nThis field is required when referring to a Namespace-scoped resource and\nMUST be unset when referring to a Cluster-scoped resource.", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", + "type": "string" + } + }, + "required": [ + "group", + "kind", + "name" + ], + "type": "object" + } + }, + "required": [ + "controllerName" + ], + "type": "object" + }, + "status": { + "description": "Status defines the current state of GatewayClass.\n\nImplementations MUST populate status on all GatewayClass resources which\nspecify their controller name.", + "properties": { + "conditions": { + "description": "Conditions is the current status from the controller for\nthis GatewayClass.\n\nControllers should prefer to publish conditions using values\nof GatewayClassConditionType for the type of each Condition.", + "items": { + "description": "Condition contains details for one aspect of the current state of this API Resource.", + "properties": { + "lastTransitionTime": { + "description": "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "message is a human readable message indicating details about the transition.\nThis may be an empty string.", + "maxLength": 32768, + "type": "string" + }, + "observedGeneration": { + "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "minimum": 0, + "type": "integer" + }, + "reason": { + "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.", + "maxLength": 1024, + "minLength": 1, + "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", + "type": "string" + }, + "status": { + "description": "status of the condition, one of True, False, Unknown.", + "enum": [ + "True", + "False", + "Unknown" + ], + "type": "string" + }, + "type": { + "description": "type of condition in CamelCase or in foo.example.com/CamelCase.", + "maxLength": 316, + "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "message", + "reason", + "status", + "type" + ], + "type": "object" + }, + "maxItems": 8, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "supportedFeatures": { + "description": "SupportedFeatures is the set of features the GatewayClass support.\nIt MUST be sorted in ascending alphabetical order by the Name key.", "items": { - "description": "ListenerStatus is the status associated with a Listener.", "properties": { - "attachedRoutes": { - "description": "AttachedRoutes represents the total number of Routes that have been\nsuccessfully attached to this Listener.\n\nSuccessful attachment of a Route to a Listener is based solely on the\ncombination of the AllowedRoutes field on the corresponding Listener\nand the Route's ParentRefs field. A Route is successfully attached to\na Listener when it is selected by the Listener's AllowedRoutes field\nAND the Route has a valid ParentRef selecting the whole Gateway\nresource or a specific Listener as a parent resource (more detail on\nattachment semantics can be found in the documentation on the various\nRoute kinds ParentRefs fields). Listener or Route status does not impact\nsuccessful attachment, i.e. the AttachedRoutes field count MUST be set\nfor Listeners with condition Accepted: false and MUST count successfully\nattached Routes that may themselves have Accepted: false conditions.\n\nUses for this field include troubleshooting Route attachment and\nmeasuring blast radius/impact of changes to a Listener.", - "format": "int32", - "type": "integer" - }, - "conditions": { - "description": "Conditions describe the current condition of this listener.", - "items": { - "description": "Condition contains details for one aspect of the current state of this API Resource.", - "properties": { - "lastTransitionTime": { - "description": "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", - "format": "date-time", - "type": "string" - }, - "message": { - "description": "message is a human readable message indicating details about the transition.\nThis may be an empty string.", - "maxLength": 32768, - "type": "string" - }, - "observedGeneration": { - "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "reason": { - "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.", - "maxLength": 1024, - "minLength": 1, - "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", - "type": "string" - }, - "status": { - "description": "status of the condition, one of True, False, Unknown.", - "enum": [ - "True", - "False", - "Unknown" - ], - "type": "string" - }, - "type": { - "description": "type of condition in CamelCase or in foo.example.com/CamelCase.", - "maxLength": 316, - "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", - "type": "string" - } - }, - "required": [ - "lastTransitionTime", - "message", - "reason", - "status", - "type" - ], - "type": "object" - }, - "maxItems": 8, - "type": "array", - "x-kubernetes-list-map-keys": [ - "type" - ], - "x-kubernetes-list-type": "map" - }, "name": { - "description": "Name is the name of the Listener that this status corresponds to.", - "maxLength": 253, - "minLength": 1, - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "description": "FeatureName is used to describe distinct features that are covered by\nconformance tests.", "type": "string" - }, - "supportedKinds": { - "description": "SupportedKinds is the list indicating the Kinds supported by this\nlistener. This MUST represent the kinds an implementation supports for\nthat Listener configuration.\n\nIf kinds are specified in Spec that are not supported, they MUST NOT\nappear in this list and an implementation MUST set the \"ResolvedRefs\"\ncondition to \"False\" with the \"InvalidRouteKinds\" reason. If both valid\nand invalid Route kinds are specified, the implementation MUST\nreference the valid Route kinds that have been specified.", - "items": { - "description": "RouteGroupKind indicates the group and kind of a Route resource.", - "properties": { - "group": { - "description": "Group is the group of the Route.", - "maxLength": 253, - "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", - "type": "string" - }, - "kind": { - "description": "Kind is the kind of the Route.", - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - "maxItems": 8, - "type": "array" } }, "required": [ - "attachedRoutes", - "conditions", - "name", - "supportedKinds" + "name" ], "type": "object" }, @@ -21147,164 +22832,6 @@ "spec" ], "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" - } - ] - }, - "io.k8s.networking.gateway.v1beta1.GatewayClass": { - "description": "GatewayClass describes a class of Gateways available to the user for creating\nGateway resources.\n\nIt is recommended that this resource be used as a template for Gateways. This\nmeans that a Gateway is based on the state of the GatewayClass at the time it\nwas created and changes to the GatewayClass or associated parameters are not\npropagated down to existing Gateways. This recommendation is intended to\nlimit the blast radius of changes to GatewayClass or associated parameters.\nIf implementations choose to propagate GatewayClass changes to existing\nGateways, that MUST be clearly documented by the implementation.\n\nWhenever one or more Gateways are using a GatewayClass, implementations SHOULD\nadd the `gateway-exists-finalizer.gateway.networking.k8s.io` finalizer on the\nassociated GatewayClass. This ensures that a GatewayClass associated with a\nGateway is not deleted while in use.\n\nGatewayClass is a Cluster level resource.", - "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" - }, - "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" - }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" - }, - "spec": { - "description": "Spec defines the desired state of GatewayClass.", - "properties": { - "controllerName": { - "description": "ControllerName is the name of the controller that is managing Gateways of\nthis class. The value of this field MUST be a domain prefixed path.\n\nExample: \"example.net/gateway-controller\".\n\nThis field is not mutable and cannot be empty.\n\nSupport: Core", - "maxLength": 253, - "minLength": 1, - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\\/[A-Za-z0-9\\/\\-._~%!$\u0026'()*+,;=:]+$", - "type": "string", - "x-kubernetes-validations": [ - { - "message": "Value is immutable", - "rule": "self == oldSelf" - } - ] - }, - "description": { - "description": "Description helps describe a GatewayClass with more details.", - "maxLength": 64, - "type": "string" - }, - "parametersRef": { - "description": "ParametersRef is a reference to a resource that contains the configuration\nparameters corresponding to the GatewayClass. This is optional if the\ncontroller does not require any additional configuration.\n\nParametersRef can reference a standard Kubernetes resource, i.e. ConfigMap,\nor an implementation-specific custom resource. The resource can be\ncluster-scoped or namespace-scoped.\n\nIf the referent cannot be found, refers to an unsupported kind, or when\nthe data within that resource is malformed, the GatewayClass SHOULD be\nrejected with the \"Accepted\" status condition set to \"False\" and an\n\"InvalidParameters\" reason.\n\nA Gateway for this GatewayClass may provide its own `parametersRef`. When both are specified,\nthe merging behavior is implementation specific.\nIt is generally recommended that GatewayClass provides defaults that can be overridden by a Gateway.\n\nSupport: Implementation-specific", - "properties": { - "group": { - "description": "Group is the group of the referent.", - "maxLength": 253, - "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", - "type": "string" - }, - "kind": { - "description": "Kind is kind of the referent.", - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", - "type": "string" - }, - "name": { - "description": "Name is the name of the referent.", - "maxLength": 253, - "minLength": 1, - "type": "string" - }, - "namespace": { - "description": "Namespace is the namespace of the referent.\nThis field is required when referring to a Namespace-scoped resource and\nMUST be unset when referring to a Cluster-scoped resource.", - "maxLength": 63, - "minLength": 1, - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", - "type": "string" - } - }, - "required": [ - "group", - "kind", - "name" - ], - "type": "object" - } - }, - "required": [ - "controllerName" - ], - "type": "object" - }, - "status": { - "description": "Status defines the current state of GatewayClass.\n\nImplementations MUST populate status on all GatewayClass resources which\nspecify their controller name.", - "properties": { - "conditions": { - "description": "Conditions is the current status from the controller for\nthis GatewayClass.\n\nControllers should prefer to publish conditions using values\nof GatewayClassConditionType for the type of each Condition.", - "items": { - "description": "Condition contains details for one aspect of the current state of this API Resource.", - "properties": { - "lastTransitionTime": { - "description": "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", - "format": "date-time", - "type": "string" - }, - "message": { - "description": "message is a human readable message indicating details about the transition.\nThis may be an empty string.", - "maxLength": 32768, - "type": "string" - }, - "observedGeneration": { - "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "reason": { - "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty.", - "maxLength": 1024, - "minLength": 1, - "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$", - "type": "string" - }, - "status": { - "description": "status of the condition, one of True, False, Unknown.", - "enum": [ - "True", - "False", - "Unknown" - ], - "type": "string" - }, - "type": { - "description": "type of condition in CamelCase or in foo.example.com/CamelCase.", - "maxLength": 316, - "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$", - "type": "string" - } - }, - "required": [ - "lastTransitionTime", - "message", - "reason", - "status", - "type" - ], - "type": "object" - }, - "maxItems": 8, - "type": "array", - "x-kubernetes-list-map-keys": [ - "type" - ], - "x-kubernetes-list-type": "map" - } - }, - "type": "object" - } - }, - "required": [ - "spec" - ], - "type": "object", "x-kubernetes-group-version-kind": [ { "group": "gateway.networking.k8s.io", @@ -21411,7 +22938,8 @@ "type": "string" }, "maxItems": 16, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "parentRefs": { "description": "ParentRefs references the resources (usually Gateways) that a Route wants\nto be attached to. Note that the referenced parent resource needs to\nallow this for the attachment to be complete. For Gateways, that means\nthe Gateway needs to allow attachment from Routes of this kind and\nnamespace. For Services, that means the Service must either be in the same\nnamespace for a \"producer\" route, or the mesh implementation must support\nand allow \"consumer\" routes for the referenced Service. ReferenceGrant is\nnot applicable for governing ParentRefs to Services - it is not possible to\ncreate a \"producer\" route for a Service in a different namespace from the\nRoute.\n\nThere are two kinds of parent resources with \"Core\" support:\n\n* Gateway (Gateway conformance profile)\n* Service (Mesh conformance profile, ClusterIP Services only)\n\nThis API may be extended in the future to support additional kinds of parent\nresources.\n\nParentRefs must be _distinct_. This means either that:\n\n* They select different objects. If this is the case, then parentRef\n entries are distinct. In terms of fields, this means that the\n multi-part key defined by `group`, `kind`, `namespace`, and `name` must\n be unique across all parentRef entries in the Route.\n* They do not select different objects, but for each optional field used,\n each ParentRef that selects the same object must set the same set of\n optional fields to different values. If one ParentRef sets a\n combination of optional fields, all must set the same combination.\n\nSome examples:\n\n* If one ParentRef sets `sectionName`, all ParentRefs referencing the\n same object must also set `sectionName`.\n* If one ParentRef sets `port`, all ParentRefs referencing the same\n object must also set `port`.\n* If one ParentRef sets `sectionName` and `port`, all ParentRefs\n referencing the same object must also set `sectionName` and `port`.\n\nIt is possible to separately reference multiple distinct objects that may\nbe collapsed by an implementation. For example, some implementations may\nchoose to merge compatible Gateway Listeners together. If that is the\ncase, the list of routes attached to those resources should also be\nmerged.\n\nNote that for ParentRefs that cross namespace boundaries, there are specific\nrules. Cross-namespace references are only valid if they are explicitly\nallowed by something in the namespace they are referring to. For example,\nGateway has the AllowedRoutes field, and ReferenceGrant provides a\ngeneric way to enable other kinds of cross-namespace reference.", @@ -21466,6 +22994,7 @@ }, "maxItems": 32, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "sectionName must be specified when parentRefs includes 2 or more references to the same parent", @@ -21984,11 +23513,8 @@ }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ - { - "message": "May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both", - "rule": "!(self.exists(f, f.type == 'RequestRedirect') \u0026\u0026 self.exists(f, f.type == 'URLRewrite'))" - }, { "message": "May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both", "rule": "!(self.exists(f, f.type == 'RequestRedirect') \u0026\u0026 self.exists(f, f.type == 'URLRewrite'))" @@ -22064,7 +23590,8 @@ ] }, "maxItems": 16, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "filters": { "description": "Filters define the filters that are applied to requests that match\nthis rule.\n\nWherever possible, implementations SHOULD implement filters in the order\nthey are specified.\n\nImplementations MAY choose to implement this ordering strictly, rejecting\nany combination or order of filters that cannot be supported. If implementations\nchoose a strict interpretation of filter ordering, they MUST clearly document\nthat behavior.\n\nTo reject an invalid combination or order of filters, implementations SHOULD\nconsider the Route Rules with this configuration invalid. If all Route Rules\nin a Route are invalid, the entire Route would be considered invalid. If only\na portion of Route Rules are invalid, implementations MUST set the\n\"PartiallyInvalid\" condition for the Route.\n\nConformance-levels at this level are defined based on the type of filter:\n\n- ALL core filters MUST be supported by all implementations.\n- Implementers are encouraged to support extended filters.\n- Implementation-specific custom filters have no API guarantees across\n implementations.\n\nSpecifying the same filter multiple times is not supported unless explicitly\nindicated in the filter.\n\nAll filters are expected to be compatible with each other except for the\nURLRewrite and RequestRedirect filters, which may not be combined. If an\nimplementation cannot support other combinations of filters, they must clearly\ndocument that limitation. In cases where incompatible or unsupported\nfilters are specified and cause the `Accepted` condition to be set to status\n`False`, implementations may use the `IncompatibleFilters` reason to specify\nthis configuration error.\n\nSupport: Core", @@ -22563,6 +24090,7 @@ }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both", @@ -22756,7 +24284,15 @@ "type": "object" }, "maxItems": 64, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "name": { + "description": "Name is the name of the route rule. This name MUST be unique within a Route if it is set.\n\nSupport: Extended", + "maxLength": 253, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" }, "timeouts": { "description": "Timeouts defines the timeouts that can be configured for an HTTP request.\n\nSupport: Extended", @@ -22807,6 +24343,7 @@ }, "maxItems": 16, "type": "array", + "x-kubernetes-list-type": "atomic", "x-kubernetes-validations": [ { "message": "While 16 rules and 64 matches per rule are allowed, the total number of matches across all rules in a route must be less than 128", @@ -22944,13 +24481,15 @@ } }, "required": [ + "conditions", "controllerName", "parentRef" ], "type": "object" }, "maxItems": 32, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" } }, "required": [ @@ -23059,7 +24598,8 @@ }, "maxItems": 16, "minItems": 1, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" }, "to": { "description": "To describes the resources that may be referenced by the resources\ndescribed in \"From\". Each entry in this list MUST be considered to be an\nadditional place that references can be valid to, or to put this another\nway, entries MUST be combined using OR.\n\nSupport: Core", @@ -23094,7 +24634,8 @@ }, "maxItems": 16, "minItems": 1, - "type": "array" + "type": "array", + "x-kubernetes-list-type": "atomic" } }, "required": [ @@ -23167,12 +24708,33 @@ "description": "IngressRouteSpec defines the desired state of IngressRoute.", "properties": { "entryPoints": { - "description": "EntryPoints defines the list of entry point names to bind to.\nEntry points have to be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/\nDefault: all.", + "description": "EntryPoints defines the list of entry point names to bind to.\nEntry points have to be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/\nDefault: all.", "items": { "type": "string" }, "type": "array" }, + "parentRefs": { + "description": "ParentRefs defines references to parent IngressRoute resources for multi-layer routing.\nWhen set, this IngressRoute's routers will be children of the referenced parent IngressRoute's routers.\nMore info: https://doc.traefik.io/traefik/v3.6/routing/routers/#parentrefs", + "items": { + "description": "IngressRouteRef is a reference to an IngressRoute resource.", + "properties": { + "name": { + "description": "Name defines the name of the referenced IngressRoute resource.", + "type": "string" + }, + "namespace": { + "description": "Namespace defines the namespace of the referenced IngressRoute resource.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "type": "array" + }, "routes": { "description": "Routes defines the list of routes.", "items": { @@ -23186,11 +24748,11 @@ "type": "string" }, "match": { - "description": "Match defines the router's rule.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule", + "description": "Match defines the router's rule.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/", "type": "string" }, "middlewares": { - "description": "Middlewares defines the list of references to Middleware resources.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-middleware", + "description": "Middlewares defines the list of references to Middleware resources.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/middleware/", "items": { "description": "MiddlewareRef is a reference to a Middleware resource.", "properties": { @@ -23211,7 +24773,7 @@ "type": "array" }, "observability": { - "description": "Observability defines the observability configuration for a router.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#observability", + "description": "Observability defines the observability configuration for a router.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/observability/", "properties": { "accessLogs": { "description": "AccessLogs enables access logs for this router.", @@ -23237,7 +24799,7 @@ "type": "object" }, "priority": { - "description": "Priority defines the router's priority.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority", + "description": "Priority defines the router's priority.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#priority", "maximum": 9223372036854775000, "type": "integer" }, @@ -23331,6 +24893,20 @@ "description": "PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service.\nBy default, passHostHeader is true.", "type": "boolean" }, + "passiveHealthCheck": { + "description": "PassiveHealthCheck defines passive health checks for ExternalName services.", + "properties": { + "failureWindow": { + "description": "FailureWindow defines the time window during which the failed attempts must occur for the server to be marked as unhealthy. It also defines for how long the server will be considered unhealthy.", + "x-kubernetes-int-or-string": true + }, + "maxFailedAttempts": { + "description": "MaxFailedAttempts is the number of consecutive failed attempts allowed within the failure window before marking the server as unhealthy.", + "type": "integer" + } + }, + "type": "object" + }, "port": { "description": "Port defines the port of a Kubernetes Service.\nThis can be a reference to a named port.", "x-kubernetes-int-or-string": true @@ -23354,7 +24930,7 @@ "type": "string" }, "sticky": { - "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions", + "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions", "properties": { "cookie": { "description": "Cookie defines the sticky cookie configuration.", @@ -23399,10 +24975,12 @@ "type": "object" }, "strategy": { - "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin) and p2c (Power of two choices).\nRoundRobin value is deprecated and supported for backward compatibility.", + "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time).\nRoundRobin value is deprecated and supported for backward compatibility.", "enum": [ "wrr", "p2c", + "hrw", + "leasttime", "RoundRobin" ], "type": "string" @@ -23421,7 +24999,7 @@ "type": "array" }, "syntax": { - "description": "Syntax defines the router's rule syntax.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax\nDeprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.", + "description": "Syntax defines the router's rule syntax.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#rulesyntax\nDeprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.", "type": "string" } }, @@ -23433,14 +25011,14 @@ "type": "array" }, "tls": { - "description": "TLS defines the TLS configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls", + "description": "TLS defines the TLS configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/router/#tls", "properties": { "certResolver": { - "description": "CertResolver defines the name of the certificate resolver to use.\nCert resolvers have to be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers", + "description": "CertResolver defines the name of the certificate resolver to use.\nCert resolvers have to be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/", "type": "string" }, "domains": { - "description": "Domains defines the list of domains that will be used to issue certificates.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains", + "description": "Domains defines the list of domains that will be used to issue certificates.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#domains", "items": { "description": "Domain holds a domain name with SANs.", "properties": { @@ -23461,14 +25039,14 @@ "type": "array" }, "options": { - "description": "Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.\nIf not defined, the `default` TLSOption is used.\nMore info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options", + "description": "Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.\nIf not defined, the `default` TLSOption is used.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-options/", "properties": { "name": { - "description": "Name defines the name of the referenced TLSOption.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption", + "description": "Name defines the name of the referenced TLSOption.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/", "type": "string" }, "namespace": { - "description": "Namespace defines the namespace of the referenced TLSOption.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsoption", + "description": "Namespace defines the namespace of the referenced TLSOption.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/", "type": "string" } }, @@ -23485,11 +25063,11 @@ "description": "Store defines the reference to the TLSStore, that will be used to store certificates.\nPlease note that only `default` TLSStore can be used.", "properties": { "name": { - "description": "Name defines the name of the referenced TLSStore.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore", + "description": "Name defines the name of the referenced TLSStore.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/", "type": "string" }, "namespace": { - "description": "Namespace defines the namespace of the referenced TLSStore.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-tlsstore", + "description": "Namespace defines the namespace of the referenced TLSStore.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/", "type": "string" } }, @@ -23575,7 +25153,7 @@ "description": "IngressRouteTCPSpec defines the desired state of IngressRouteTCP.", "properties": { "entryPoints": { - "description": "EntryPoints defines the list of entry point names to bind to.\nEntry points have to be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/\nDefault: all.", + "description": "EntryPoints defines the list of entry point names to bind to.\nEntry points have to be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/\nDefault: all.", "items": { "type": "string" }, @@ -23587,7 +25165,7 @@ "description": "RouteTCP holds the TCP route configuration.", "properties": { "match": { - "description": "Match defines the router's rule.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rule_1", + "description": "Match defines the router's rule.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/", "type": "string" }, "middlewares": { @@ -23612,7 +25190,7 @@ "type": "array" }, "priority": { - "description": "Priority defines the router's priority.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#priority_1", + "description": "Priority defines the router's priority.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#priority", "maximum": 9223372036854775000, "type": "integer" }, @@ -23642,7 +25220,7 @@ "x-kubernetes-int-or-string": true }, "proxyProtocol": { - "description": "ProxyProtocol defines the PROXY protocol configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/services/#proxy-protocol", + "description": "ProxyProtocol defines the PROXY protocol configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/service/#proxy-protocol\nDeprecated: ProxyProtocol will not be supported in future APIVersions, please use ServersTransport to configure ProxyProtocol instead.", "properties": { "version": { "description": "Version defines the PROXY Protocol version to use.", @@ -23680,7 +25258,7 @@ "type": "array" }, "syntax": { - "description": "Syntax defines the router's rule syntax.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#rulesyntax_1\nDeprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.", + "description": "Syntax defines the router's rule syntax.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#rulesyntax\nDeprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.", "enum": [ "v3", "v2" @@ -23696,14 +25274,14 @@ "type": "array" }, "tls": { - "description": "TLS defines the TLS configuration on a layer 4 / TCP Route.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#tls_1", + "description": "TLS defines the TLS configuration on a layer 4 / TCP Route.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/router/#tls", "properties": { "certResolver": { - "description": "CertResolver defines the name of the certificate resolver to use.\nCert resolvers have to be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/https/acme/#certificate-resolvers", + "description": "CertResolver defines the name of the certificate resolver to use.\nCert resolvers have to be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/", "type": "string" }, "domains": { - "description": "Domains defines the list of domains that will be used to issue certificates.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/routers/#domains", + "description": "Domains defines the list of domains that will be used to issue certificates.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/tls/#domains", "items": { "description": "Domain holds a domain name with SANs.", "properties": { @@ -23724,7 +25302,7 @@ "type": "array" }, "options": { - "description": "Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.\nIf not defined, the `default` TLSOption is used.\nMore info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options", + "description": "Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.\nIf not defined, the `default` TLSOption is used.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/tls/#tls-options", "properties": { "name": { "description": "Name defines the name of the referenced Traefik resource.", @@ -23842,7 +25420,7 @@ "description": "IngressRouteUDPSpec defines the desired state of a IngressRouteUDP.", "properties": { "entryPoints": { - "description": "EntryPoints defines the list of entry point names to bind to.\nEntry points have to be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/entrypoints/\nDefault: all.", + "description": "EntryPoints defines the list of entry point names to bind to.\nEntry points have to be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/\nDefault: all.", "items": { "type": "string" }, @@ -23953,7 +25531,7 @@ ] }, "io.traefik.v1alpha1.Middleware": { - "description": "Middleware is the CRD implementation of a Traefik Middleware.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/overview/", + "description": "Middleware is the CRD implementation of a Traefik Middleware.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/", "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", @@ -23971,7 +25549,7 @@ "description": "MiddlewareSpec defines the desired state of a Middleware.", "properties": { "addPrefix": { - "description": "AddPrefix holds the add prefix middleware configuration.\nThis middleware updates the path of a request before forwarding it.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/addprefix/", + "description": "AddPrefix holds the add prefix middleware configuration.\nThis middleware updates the path of a request before forwarding it.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/addprefix/", "properties": { "prefix": { "description": "Prefix is the string to add before the current path in the requested URL.\nIt should include a leading slash (/).", @@ -23987,10 +25565,10 @@ "type": "object" }, "basicAuth": { - "description": "BasicAuth holds the basic auth middleware configuration.\nThis middleware restricts access to your services to known users.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/", + "description": "BasicAuth holds the basic auth middleware configuration.\nThis middleware restricts access to your services to known users.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/", "properties": { "headerField": { - "description": "HeaderField defines a header field to store the authenticated user.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield", + "description": "HeaderField defines a header field to store the authenticated user.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/#headerfield", "type": "string" }, "realm": { @@ -24009,7 +25587,7 @@ "type": "object" }, "buffering": { - "description": "Buffering holds the buffering middleware configuration.\nThis middleware retries or limits the size of requests that can be forwarded to backends.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/buffering/#maxrequestbodybytes", + "description": "Buffering holds the buffering middleware configuration.\nThis middleware retries or limits the size of requests that can be forwarded to backends.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/buffering/#maxrequestbodybytes", "properties": { "maxRequestBodyBytes": { "description": "MaxRequestBodyBytes defines the maximum allowed body size for the request (in bytes).\nIf the request exceeds the allowed size, it is not forwarded to the service, and the client gets a 413 (Request Entity Too Large) response.\nDefault: 0 (no maximum).", @@ -24032,14 +25610,14 @@ "type": "integer" }, "retryExpression": { - "description": "RetryExpression defines the retry conditions.\nIt is a logical combination of functions with operators AND (\u0026\u0026) and OR (||).\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/buffering/#retryexpression", + "description": "RetryExpression defines the retry conditions.\nIt is a logical combination of functions with operators AND (\u0026\u0026) and OR (||).\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/buffering/#retryexpression", "type": "string" } }, "type": "object" }, "chain": { - "description": "Chain holds the configuration of the chain middleware.\nThis middleware enables to define reusable combinations of other pieces of middleware.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/chain/", + "description": "Chain holds the configuration of the chain middleware.\nThis middleware enables to define reusable combinations of other pieces of middleware.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/chain/", "properties": { "middlewares": { "description": "Middlewares is the list of MiddlewareRef which composes the chain.", @@ -24096,7 +25674,7 @@ "type": "object" }, "compress": { - "description": "Compress holds the compress middleware configuration.\nThis middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/compress/", + "description": "Compress holds the compress middleware configuration.\nThis middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/compress/", "properties": { "defaultEncoding": { "description": "DefaultEncoding specifies the default encoding if the `Accept-Encoding` header is not in the request or contains a wildcard (`*`).", @@ -24142,10 +25720,10 @@ "type": "object" }, "digestAuth": { - "description": "DigestAuth holds the digest auth middleware configuration.\nThis middleware restricts access to your services to known users.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/digestauth/", + "description": "DigestAuth holds the digest auth middleware configuration.\nThis middleware restricts access to your services to known users.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/", "properties": { "headerField": { - "description": "HeaderField defines a header field to store the authenticated user.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/basicauth/#headerfield", + "description": "HeaderField defines a header field to store the authenticated user.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/#headerfield", "type": "string" }, "realm": { @@ -24164,14 +25742,14 @@ "type": "object" }, "errors": { - "description": "ErrorPage holds the custom error middleware configuration.\nThis middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/", + "description": "ErrorPage holds the custom error middleware configuration.\nThis middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/", "properties": { "query": { "description": "Query defines the URL for the error page (hosted by service).\nThe {status} variable can be used in order to insert the status code in the URL.\nThe {originalStatus} variable can be used in order to insert the upstream status code in the URL.\nThe {url} variable can be used in order to insert the escaped request URL.", "type": "string" }, "service": { - "description": "Service defines the reference to a Kubernetes Service that will serve the error page.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/errorpages/#service", + "description": "Service defines the reference to a Kubernetes Service that will serve the error page.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/#service", "properties": { "healthCheck": { "description": "Healthcheck defines health checks for ExternalName services.", @@ -24258,6 +25836,20 @@ "description": "PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service.\nBy default, passHostHeader is true.", "type": "boolean" }, + "passiveHealthCheck": { + "description": "PassiveHealthCheck defines passive health checks for ExternalName services.", + "properties": { + "failureWindow": { + "description": "FailureWindow defines the time window during which the failed attempts must occur for the server to be marked as unhealthy. It also defines for how long the server will be considered unhealthy.", + "x-kubernetes-int-or-string": true + }, + "maxFailedAttempts": { + "description": "MaxFailedAttempts is the number of consecutive failed attempts allowed within the failure window before marking the server as unhealthy.", + "type": "integer" + } + }, + "type": "object" + }, "port": { "description": "Port defines the port of a Kubernetes Service.\nThis can be a reference to a named port.", "x-kubernetes-int-or-string": true @@ -24281,7 +25873,7 @@ "type": "string" }, "sticky": { - "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions", + "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions", "properties": { "cookie": { "description": "Cookie defines the sticky cookie configuration.", @@ -24326,10 +25918,12 @@ "type": "object" }, "strategy": { - "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin) and p2c (Power of two choices).\nRoundRobin value is deprecated and supported for backward compatibility.", + "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time).\nRoundRobin value is deprecated and supported for backward compatibility.", "enum": [ "wrr", "p2c", + "hrw", + "leasttime", "RoundRobin" ], "type": "string" @@ -24364,7 +25958,7 @@ "type": "object" }, "forwardAuth": { - "description": "ForwardAuth holds the forward auth middleware configuration.\nThis middleware delegates the request authentication to a Service.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/", + "description": "ForwardAuth holds the forward auth middleware configuration.\nThis middleware delegates the request authentication to a Service.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/", "properties": { "addAuthCookiesToResponse": { "description": "AddAuthCookiesToResponse defines the list of cookies to copy from the authentication server response to the response.", @@ -24392,7 +25986,7 @@ "type": "array" }, "authResponseHeadersRegex": { - "description": "AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#authresponseheadersregex", + "description": "AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#authresponseheadersregex", "type": "string" }, "forwardBody": { @@ -24400,7 +25994,7 @@ "type": "boolean" }, "headerField": { - "description": "HeaderField defines a header field to store the authenticated user.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/forwardauth/#headerfield", + "description": "HeaderField defines a header field to store the authenticated user.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#headerfield", "type": "string" }, "maxBodySize": { @@ -24459,7 +26053,7 @@ "type": "object" }, "headers": { - "description": "Headers holds the headers middleware configuration.\nThis middleware manages the requests and responses headers.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/headers/#customrequestheaders", + "description": "Headers holds the headers middleware configuration.\nThis middleware manages the requests and responses headers.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/headers/#customrequestheaders", "properties": { "accessControlAllowCredentials": { "description": "AccessControlAllowCredentials defines whether the request can include user credentials.", @@ -24630,7 +26224,7 @@ "type": "object" }, "inFlightReq": { - "description": "InFlightReq holds the in-flight request middleware configuration.\nThis middleware limits the number of requests being processed and served concurrently.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/inflightreq/", + "description": "InFlightReq holds the in-flight request middleware configuration.\nThis middleware limits the number of requests being processed and served concurrently.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/inflightreq/", "properties": { "amount": { "description": "Amount defines the maximum amount of allowed simultaneous in-flight request.\nThe middleware responds with HTTP 429 Too Many Requests if there are already amount requests in progress (based on the same sourceCriterion strategy).", @@ -24639,10 +26233,10 @@ "type": "integer" }, "sourceCriterion": { - "description": "SourceCriterion defines what criterion is used to group requests as originating from a common source.\nIf several strategies are defined at the same time, an error will be raised.\nIf none are set, the default is to use the requestHost.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/inflightreq/#sourcecriterion", + "description": "SourceCriterion defines what criterion is used to group requests as originating from a common source.\nIf several strategies are defined at the same time, an error will be raised.\nIf none are set, the default is to use the requestHost.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/inflightreq/#sourcecriterion", "properties": { "ipStrategy": { - "description": "IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ipallowlist/#ipstrategy", + "description": "IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy", "properties": { "depth": { "description": "Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right).", @@ -24678,10 +26272,10 @@ "type": "object" }, "ipAllowList": { - "description": "IPAllowList holds the IP allowlist middleware configuration.\nThis middleware limits allowed requests based on the client IP.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ipallowlist/", + "description": "IPAllowList holds the IP allowlist middleware configuration.\nThis middleware limits allowed requests based on the client IP.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/", "properties": { "ipStrategy": { - "description": "IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ipallowlist/#ipstrategy", + "description": "IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy", "properties": { "depth": { "description": "Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right).", @@ -24720,7 +26314,7 @@ "description": "Deprecated: please use IPAllowList instead.", "properties": { "ipStrategy": { - "description": "IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ipallowlist/#ipstrategy", + "description": "IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy", "properties": { "depth": { "description": "Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right).", @@ -24752,7 +26346,7 @@ "type": "object" }, "passTLSClientCert": { - "description": "PassTLSClientCert holds the pass TLS client cert middleware configuration.\nThis middleware adds the selected data from the passed client TLS certificate to a header.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/passtlsclientcert/", + "description": "PassTLSClientCert holds the pass TLS client cert middleware configuration.\nThis middleware adds the selected data from the passed client TLS certificate to a header.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/passtlsclientcert/", "properties": { "info": { "description": "Info selects the specific client certificate details you want to add to the X-Forwarded-Tls-Client-Cert-Info header.", @@ -24859,11 +26453,11 @@ "additionalProperties": { "x-kubernetes-preserve-unknown-fields": true }, - "description": "Plugin defines the middleware plugin configuration.\nMore info: https://doc.traefik.io/traefik/plugins/", + "description": "Plugin defines the middleware plugin configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/#community-middlewares", "type": "object" }, "rateLimit": { - "description": "RateLimit holds the rate limit configuration.\nThis middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ratelimit/", + "description": "RateLimit holds the rate limit configuration.\nThis middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/ratelimit/", "properties": { "average": { "description": "Average is the maximum rate, by default in requests/s, allowed for the given source.\nIt defaults to 0, which means no rate limiting.\nThe rate is actually defined by dividing Average by Period. So for a rate below 1req/s,\none needs to define a Period larger than a second.", @@ -24951,7 +26545,7 @@ "description": "SourceCriterion defines what criterion is used to group requests as originating from a common source.\nIf several strategies are defined at the same time, an error will be raised.\nIf none are set, the default is to use the request's remote address field (as an ipStrategy).", "properties": { "ipStrategy": { - "description": "IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/ipallowlist/#ipstrategy", + "description": "IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy", "properties": { "depth": { "description": "Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right).", @@ -24987,7 +26581,7 @@ "type": "object" }, "redirectRegex": { - "description": "RedirectRegex holds the redirect regex middleware configuration.\nThis middleware redirects a request using regex matching and replacement.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/redirectregex/#regex", + "description": "RedirectRegex holds the redirect regex middleware configuration.\nThis middleware redirects a request using regex matching and replacement.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/redirectregex/#regex", "properties": { "permanent": { "description": "Permanent defines whether the redirection is permanent (308).", @@ -25005,7 +26599,7 @@ "type": "object" }, "redirectScheme": { - "description": "RedirectScheme holds the redirect scheme middleware configuration.\nThis middleware redirects requests from a scheme/port to another.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/redirectscheme/", + "description": "RedirectScheme holds the redirect scheme middleware configuration.\nThis middleware redirects requests from a scheme/port to another.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/redirectscheme/", "properties": { "permanent": { "description": "Permanent defines whether the redirection is permanent (308).", @@ -25023,7 +26617,7 @@ "type": "object" }, "replacePath": { - "description": "ReplacePath holds the replace path middleware configuration.\nThis middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/replacepath/", + "description": "ReplacePath holds the replace path middleware configuration.\nThis middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/replacepath/", "properties": { "path": { "description": "Path defines the path to use as replacement in the request URL.", @@ -25033,7 +26627,7 @@ "type": "object" }, "replacePathRegex": { - "description": "ReplacePathRegex holds the replace path regex middleware configuration.\nThis middleware replaces the path of a URL using regex matching and replacement.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/replacepathregex/", + "description": "ReplacePathRegex holds the replace path regex middleware configuration.\nThis middleware replaces the path of a URL using regex matching and replacement.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/replacepathregex/", "properties": { "regex": { "description": "Regex defines the regular expression used to match and capture the path from the request URL.", @@ -25047,7 +26641,7 @@ "type": "object" }, "retry": { - "description": "Retry holds the retry middleware configuration.\nThis middleware reissues requests a given number of times to a backend server if that server does not reply.\nAs soon as the server answers, the middleware stops retrying, regardless of the response status.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/retry/", + "description": "Retry holds the retry middleware configuration.\nThis middleware reissues requests a given number of times to a backend server if that server does not reply.\nAs soon as the server answers, the middleware stops retrying, regardless of the response status.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/retry/", "properties": { "attempts": { "description": "Attempts defines how many times the request should be retried.", @@ -25063,7 +26657,7 @@ "type": "object" }, "stripPrefix": { - "description": "StripPrefix holds the strip prefix middleware configuration.\nThis middleware removes the specified prefixes from the URL path.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/stripprefix/", + "description": "StripPrefix holds the strip prefix middleware configuration.\nThis middleware removes the specified prefixes from the URL path.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/stripprefix/", "properties": { "forceSlash": { "description": "Deprecated: ForceSlash option is deprecated, please remove any usage of this option.\nForceSlash ensures that the resulting stripped path is not the empty string, by replacing it with / when necessary.\nDefault: true.", @@ -25080,7 +26674,7 @@ "type": "object" }, "stripPrefixRegex": { - "description": "StripPrefixRegex holds the strip prefix regex middleware configuration.\nThis middleware removes the matching prefixes from the URL path.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/http/stripprefixregex/", + "description": "StripPrefixRegex holds the strip prefix regex middleware configuration.\nThis middleware removes the matching prefixes from the URL path.\nMore info: https://doc.traefik.io/traefik/v3.6/middlewares/http/stripprefixregex/", "properties": { "regex": { "description": "Regex defines the regular expression to match the path prefix from the request URL.", @@ -25145,7 +26739,7 @@ ] }, "io.traefik.v1alpha1.MiddlewareTCP": { - "description": "MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/overview/", + "description": "MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/overview/", "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", @@ -25175,7 +26769,7 @@ "type": "object" }, "ipAllowList": { - "description": "IPAllowList defines the IPAllowList middleware configuration.\nThis middleware accepts/refuses connections based on the client IP.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipallowlist/", + "description": "IPAllowList defines the IPAllowList middleware configuration.\nThis middleware accepts/refuses connections based on the client IP.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipallowlist/", "properties": { "sourceRange": { "description": "SourceRange defines the allowed IPs (or ranges of allowed IPs by using CIDR notation).", @@ -25188,7 +26782,7 @@ "type": "object" }, "ipWhiteList": { - "description": "IPWhiteList defines the IPWhiteList middleware configuration.\nThis middleware accepts/refuses connections based on the client IP.\nDeprecated: please use IPAllowList instead.\nMore info: https://doc.traefik.io/traefik/v3.5/middlewares/tcp/ipwhitelist/", + "description": "IPWhiteList defines the IPWhiteList middleware configuration.\nThis middleware accepts/refuses connections based on the client IP.\nDeprecated: please use IPAllowList instead.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipwhitelist/", "properties": { "sourceRange": { "description": "SourceRange defines the allowed IPs (or ranges of allowed IPs by using CIDR notation).", @@ -25253,7 +26847,7 @@ ] }, "io.traefik.v1alpha1.ServersTransport": { - "description": "ServersTransport is the CRD implementation of a ServersTransport.\nIf no serversTransport is specified, the default@internal will be used.\nThe default@internal serversTransport is created from the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_1", + "description": "ServersTransport is the CRD implementation of a ServersTransport.\nIf no serversTransport is specified, the default@internal will be used.\nThe default@internal serversTransport is created from the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/serverstransport/", "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", @@ -25318,7 +26912,7 @@ }, "maxIdleConnsPerHost": { "description": "MaxIdleConnsPerHost controls the maximum idle (keep-alive) to keep per-host.", - "minimum": 0, + "minimum": -1, "type": "integer" }, "peerCertURI": { @@ -25430,7 +27024,7 @@ ] }, "io.traefik.v1alpha1.ServersTransportTCP": { - "description": "ServersTransportTCP is the CRD implementation of a TCPServersTransport.\nIf no tcpServersTransport is specified, a default one named default@internal will be used.\nThe default@internal tcpServersTransport can be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/services/#serverstransport_3", + "description": "ServersTransportTCP is the CRD implementation of a TCPServersTransport.\nIf no tcpServersTransport is specified, a default one named default@internal will be used.\nThe default@internal tcpServersTransport can be configured in the static configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/serverstransport/", "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", @@ -25457,6 +27051,18 @@ "pattern": "^([0-9]+(ns|us|µs|ms|s|m|h)?)+$", "x-kubernetes-int-or-string": true }, + "proxyProtocol": { + "description": "ProxyProtocol holds the PROXY Protocol configuration.", + "properties": { + "version": { + "description": "Version defines the PROXY Protocol version to use.", + "maximum": 2, + "minimum": 1, + "type": "integer" + } + }, + "type": "object" + }, "terminationDelay": { "description": "TerminationDelay defines the delay to wait before fully terminating the connection, after one connected peer has closed its writing capability.", "pattern": "^([0-9]+(ns|us|µs|ms|s|m|h)?)+$", @@ -25588,7 +27194,7 @@ ] }, "io.traefik.v1alpha1.TLSOption": { - "description": "TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection.\nMore info: https://doc.traefik.io/traefik/v3.5/https/tls/#tls-options", + "description": "TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#tls-options", "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", @@ -25606,14 +27212,14 @@ "description": "TLSOptionSpec defines the desired state of a TLSOption.", "properties": { "alpnProtocols": { - "description": "ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference.\nMore info: https://doc.traefik.io/traefik/v3.5/https/tls/#alpn-protocols", + "description": "ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#alpn-protocols", "items": { "type": "string" }, "type": "array" }, "cipherSuites": { - "description": "CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2.\nMore info: https://doc.traefik.io/traefik/v3.5/https/tls/#cipher-suites", + "description": "CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#cipher-suites", "items": { "type": "string" }, @@ -25644,7 +27250,7 @@ "type": "object" }, "curvePreferences": { - "description": "CurvePreferences defines the preferred elliptic curves.\nMore info: https://doc.traefik.io/traefik/v3.5/https/tls/#curve-preferences", + "description": "CurvePreferences defines the preferred elliptic curves.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#curve-preferences", "items": { "type": "string" }, @@ -25723,7 +27329,7 @@ ] }, "io.traefik.v1alpha1.TLSStore": { - "description": "TLSStore is the CRD implementation of a Traefik TLS Store.\nFor the time being, only the TLSStore named default is supported.\nThis means that you cannot have two stores that are named default in different Kubernetes namespaces.\nMore info: https://doc.traefik.io/traefik/v3.5/https/tls/#certificates-stores", + "description": "TLSStore is the CRD implementation of a Traefik TLS Store.\nFor the time being, only the TLSStore named default is supported.\nThis means that you cannot have two stores that are named default in different Kubernetes namespaces.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores", "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", @@ -25850,7 +27456,7 @@ ] }, "io.traefik.v1alpha1.TraefikService": { - "description": "TraefikService is the CRD implementation of a Traefik Service.\nTraefikService object allows to:\n- Apply weight to Services on load-balancing\n- Mirror traffic on services\nMore info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#kind-traefikservice", + "description": "TraefikService is the CRD implementation of a Traefik Service.\nTraefikService object allows to:\n- Apply weight to Services on load-balancing\n- Mirror traffic on services\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/traefikservice/", "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", @@ -25867,6 +27473,207 @@ "spec": { "description": "TraefikServiceSpec defines the desired state of a TraefikService.", "properties": { + "highestRandomWeight": { + "description": "HighestRandomWeight defines the highest random weight service configuration.", + "properties": { + "services": { + "description": "Services defines the list of Kubernetes Service and/or TraefikService to load-balance, with weight.", + "items": { + "description": "Service defines an upstream HTTP service to proxy traffic to.", + "properties": { + "healthCheck": { + "description": "Healthcheck defines health checks for ExternalName services.", + "properties": { + "followRedirects": { + "description": "FollowRedirects defines whether redirects should be followed during the health check calls.\nDefault: true", + "type": "boolean" + }, + "headers": { + "additionalProperties": { + "type": "string" + }, + "description": "Headers defines custom headers to be sent to the health check endpoint.", + "type": "object" + }, + "hostname": { + "description": "Hostname defines the value of hostname in the Host header of the health check request.", + "type": "string" + }, + "interval": { + "description": "Interval defines the frequency of the health check calls for healthy targets.\nDefault: 30s", + "x-kubernetes-int-or-string": true + }, + "method": { + "description": "Method defines the healthcheck method.", + "type": "string" + }, + "mode": { + "description": "Mode defines the health check mode.\nIf defined to grpc, will use the gRPC health check protocol to probe the server.\nDefault: http", + "type": "string" + }, + "path": { + "description": "Path defines the server URL path for the health check endpoint.", + "type": "string" + }, + "port": { + "description": "Port defines the server URL port for the health check endpoint.", + "type": "integer" + }, + "scheme": { + "description": "Scheme replaces the server URL scheme for the health check endpoint.", + "type": "string" + }, + "status": { + "description": "Status defines the expected HTTP status code of the response to the health check request.", + "type": "integer" + }, + "timeout": { + "description": "Timeout defines the maximum duration Traefik will wait for a health check request before considering the server unhealthy.\nDefault: 5s", + "x-kubernetes-int-or-string": true + }, + "unhealthyInterval": { + "description": "UnhealthyInterval defines the frequency of the health check calls for unhealthy targets.\nWhen UnhealthyInterval is not defined, it defaults to the Interval value.\nDefault: 30s", + "x-kubernetes-int-or-string": true + } + }, + "type": "object" + }, + "kind": { + "description": "Kind defines the kind of the Service.", + "enum": [ + "Service", + "TraefikService" + ], + "type": "string" + }, + "name": { + "description": "Name defines the name of the referenced Kubernetes Service or TraefikService.\nThe differentiation between the two is specified in the Kind field.", + "type": "string" + }, + "namespace": { + "description": "Namespace defines the namespace of the referenced Kubernetes Service or TraefikService.", + "type": "string" + }, + "nativeLB": { + "description": "NativeLB controls, when creating the load-balancer,\nwhether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP.\nThe Kubernetes Service itself does load-balance to the pods.\nBy default, NativeLB is false.", + "type": "boolean" + }, + "nodePortLB": { + "description": "NodePortLB controls, when creating the load-balancer,\nwhether the LB's children are directly the nodes internal IPs using the nodePort when the service type is NodePort.\nIt allows services to be reachable when Traefik runs externally from the Kubernetes cluster but within the same network of the nodes.\nBy default, NodePortLB is false.", + "type": "boolean" + }, + "passHostHeader": { + "description": "PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service.\nBy default, passHostHeader is true.", + "type": "boolean" + }, + "passiveHealthCheck": { + "description": "PassiveHealthCheck defines passive health checks for ExternalName services.", + "properties": { + "failureWindow": { + "description": "FailureWindow defines the time window during which the failed attempts must occur for the server to be marked as unhealthy. It also defines for how long the server will be considered unhealthy.", + "x-kubernetes-int-or-string": true + }, + "maxFailedAttempts": { + "description": "MaxFailedAttempts is the number of consecutive failed attempts allowed within the failure window before marking the server as unhealthy.", + "type": "integer" + } + }, + "type": "object" + }, + "port": { + "description": "Port defines the port of a Kubernetes Service.\nThis can be a reference to a named port.", + "x-kubernetes-int-or-string": true + }, + "responseForwarding": { + "description": "ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client.", + "properties": { + "flushInterval": { + "description": "FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body.\nA negative value means to flush immediately after each write to the client.\nThis configuration is ignored when ReverseProxy recognizes a response as a streaming response;\nfor such responses, writes are flushed to the client immediately.\nDefault: 100ms", + "type": "string" + } + }, + "type": "object" + }, + "scheme": { + "description": "Scheme defines the scheme to use for the request to the upstream Kubernetes Service.\nIt defaults to https when Kubernetes Service port is 443, http otherwise.", + "type": "string" + }, + "serversTransport": { + "description": "ServersTransport defines the name of ServersTransport resource to use.\nIt allows to configure the transport between Traefik and your servers.\nCan only be used on a Kubernetes Service.", + "type": "string" + }, + "sticky": { + "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions", + "properties": { + "cookie": { + "description": "Cookie defines the sticky cookie configuration.", + "properties": { + "domain": { + "description": "Domain defines the host to which the cookie will be sent.\nMore info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#domaindomain-value", + "type": "string" + }, + "httpOnly": { + "description": "HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript.", + "type": "boolean" + }, + "maxAge": { + "description": "MaxAge defines the number of seconds until the cookie expires.\nWhen set to a negative number, the cookie expires immediately.\nWhen set to zero, the cookie never expires.", + "type": "integer" + }, + "name": { + "description": "Name defines the Cookie name.", + "type": "string" + }, + "path": { + "description": "Path defines the path that must exist in the requested URL for the browser to send the Cookie header.\nWhen not provided the cookie will be sent on every request to the domain.\nMore info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#pathpath-value", + "type": "string" + }, + "sameSite": { + "description": "SameSite defines the same site policy.\nMore info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite", + "enum": [ + "none", + "lax", + "strict" + ], + "type": "string" + }, + "secure": { + "description": "Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS).", + "type": "boolean" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "strategy": { + "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time).\nRoundRobin value is deprecated and supported for backward compatibility.", + "enum": [ + "wrr", + "p2c", + "hrw", + "leasttime", + "RoundRobin" + ], + "type": "string" + }, + "weight": { + "description": "Weight defines the weight and should only be specified when Name references a TraefikService object\n(and to be precise, one that embeds a Weighted Round Robin).", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, "mirroring": { "description": "Mirroring defines the Mirroring service configuration.", "properties": { @@ -26034,6 +27841,20 @@ "description": "PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service.\nBy default, passHostHeader is true.", "type": "boolean" }, + "passiveHealthCheck": { + "description": "PassiveHealthCheck defines passive health checks for ExternalName services.", + "properties": { + "failureWindow": { + "description": "FailureWindow defines the time window during which the failed attempts must occur for the server to be marked as unhealthy. It also defines for how long the server will be considered unhealthy.", + "x-kubernetes-int-or-string": true + }, + "maxFailedAttempts": { + "description": "MaxFailedAttempts is the number of consecutive failed attempts allowed within the failure window before marking the server as unhealthy.", + "type": "integer" + } + }, + "type": "object" + }, "percent": { "description": "Percent defines the part of the traffic to mirror.\nSupported values: 0 to 100.", "type": "integer" @@ -26061,7 +27882,7 @@ "type": "string" }, "sticky": { - "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions", + "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions", "properties": { "cookie": { "description": "Cookie defines the sticky cookie configuration.", @@ -26106,10 +27927,12 @@ "type": "object" }, "strategy": { - "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin) and p2c (Power of two choices).\nRoundRobin value is deprecated and supported for backward compatibility.", + "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time).\nRoundRobin value is deprecated and supported for backward compatibility.", "enum": [ "wrr", "p2c", + "hrw", + "leasttime", "RoundRobin" ], "type": "string" @@ -26147,6 +27970,20 @@ "description": "PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service.\nBy default, passHostHeader is true.", "type": "boolean" }, + "passiveHealthCheck": { + "description": "PassiveHealthCheck defines passive health checks for ExternalName services.", + "properties": { + "failureWindow": { + "description": "FailureWindow defines the time window during which the failed attempts must occur for the server to be marked as unhealthy. It also defines for how long the server will be considered unhealthy.", + "x-kubernetes-int-or-string": true + }, + "maxFailedAttempts": { + "description": "MaxFailedAttempts is the number of consecutive failed attempts allowed within the failure window before marking the server as unhealthy.", + "type": "integer" + } + }, + "type": "object" + }, "port": { "description": "Port defines the port of a Kubernetes Service.\nThis can be a reference to a named port.", "x-kubernetes-int-or-string": true @@ -26170,7 +28007,7 @@ "type": "string" }, "sticky": { - "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions", + "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions", "properties": { "cookie": { "description": "Cookie defines the sticky cookie configuration.", @@ -26215,10 +28052,12 @@ "type": "object" }, "strategy": { - "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin) and p2c (Power of two choices).\nRoundRobin value is deprecated and supported for backward compatibility.", + "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time).\nRoundRobin value is deprecated and supported for backward compatibility.", "enum": [ "wrr", "p2c", + "hrw", + "leasttime", "RoundRobin" ], "type": "string" @@ -26327,6 +28166,20 @@ "description": "PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service.\nBy default, passHostHeader is true.", "type": "boolean" }, + "passiveHealthCheck": { + "description": "PassiveHealthCheck defines passive health checks for ExternalName services.", + "properties": { + "failureWindow": { + "description": "FailureWindow defines the time window during which the failed attempts must occur for the server to be marked as unhealthy. It also defines for how long the server will be considered unhealthy.", + "x-kubernetes-int-or-string": true + }, + "maxFailedAttempts": { + "description": "MaxFailedAttempts is the number of consecutive failed attempts allowed within the failure window before marking the server as unhealthy.", + "type": "integer" + } + }, + "type": "object" + }, "port": { "description": "Port defines the port of a Kubernetes Service.\nThis can be a reference to a named port.", "x-kubernetes-int-or-string": true @@ -26350,7 +28203,7 @@ "type": "string" }, "sticky": { - "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/services/#sticky-sessions", + "description": "Sticky defines the sticky sessions configuration.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions", "properties": { "cookie": { "description": "Cookie defines the sticky cookie configuration.", @@ -26395,10 +28248,12 @@ "type": "object" }, "strategy": { - "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin) and p2c (Power of two choices).\nRoundRobin value is deprecated and supported for backward compatibility.", + "description": "Strategy defines the load balancing strategy between the servers.\nSupported values are: wrr (Weighed round-robin), p2c (Power of two choices), hrw (Highest Random Weight), and leasttime (Least-Time).\nRoundRobin value is deprecated and supported for backward compatibility.", "enum": [ "wrr", "p2c", + "hrw", + "leasttime", "RoundRobin" ], "type": "string" @@ -26417,7 +28272,7 @@ "type": "array" }, "sticky": { - "description": "Sticky defines whether sticky sessions are enabled.\nMore info: https://doc.traefik.io/traefik/v3.5/routing/providers/kubernetes-crd/#stickiness-and-load-balancing", + "description": "Sticky defines whether sticky sessions are enabled.\nMore info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/traefikservice/#stickiness-and-load-balancing", "properties": { "cookie": { "description": "Cookie defines the sticky cookie configuration.", @@ -26465,402 +28320,2252 @@ "type": "object" } }, - "type": "object" - } - }, - "required": [ - "metadata", - "spec" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "traefik.io", - "kind": "TraefikService", - "version": "v1alpha1" + "type": "object" + } + }, + "required": [ + "metadata", + "spec" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "traefik.io", + "kind": "TraefikService", + "version": "v1alpha1" + } + ] + }, + "io.traefik.v1alpha1.TraefikServiceList": { + "description": "TraefikServiceList is a list of TraefikService", + "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" + }, + "items": { + "description": "List of traefikservices. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md", + "items": { + "$ref": "#/definitions/io.traefik.v1alpha1.TraefikService" + }, + "type": "array" + }, + "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" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", + "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + } + }, + "required": [ + "items" + ], + "type": "object", + "x-kubernetes-group-version-kind": [ + { + "group": "traefik.io", + "kind": "TraefikServiceList", + "version": "v1alpha1" + } + ] + } + }, + "info": { + "title": "Kubernetes", + "version": "1.34" + }, + "parameters": { + "allowWatchBookmarks-HC2hJt-J": { + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", + "in": "query", + "name": "allowWatchBookmarks", + "type": "boolean", + "uniqueItems": true + }, + "body-2Y1dVQaQ": { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + "body-78PwaGsr": { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + "command-Py3eQybp": { + "description": "Command is the remote command to execute. argv array. Not executed within a shell.", + "in": "query", + "name": "command", + "type": "string", + "uniqueItems": true + }, + "container-1GeXxFDC": { + "description": "The container for which to stream logs. Defaults to only container if there is one container in the pod.", + "in": "query", + "name": "container", + "type": "string", + "uniqueItems": true + }, + "container-_Q-EJ3nR": { + "description": "The container in which to execute the command. Defaults to only container if there is only one container in the pod.", + "in": "query", + "name": "container", + "type": "string", + "uniqueItems": true + }, + "container-i5dOmRiM": { + "description": "Container in which to execute the command. Defaults to only container if there is only one container in the pod.", + "in": "query", + "name": "container", + "type": "string", + "uniqueItems": true + }, + "continue-QfD61s0i": { + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "in": "query", + "name": "continue", + "type": "string", + "uniqueItems": true + }, + "fieldManager-7c6nTn1T": { + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "in": "query", + "name": "fieldManager", + "type": "string", + "uniqueItems": true + }, + "fieldManager-Qy4HdaTW": { + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "in": "query", + "name": "fieldManager", + "type": "string", + "uniqueItems": true + }, + "fieldSelector-xIcQKXFG": { + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "in": "query", + "name": "fieldSelector", + "type": "string", + "uniqueItems": true + }, + "follow-9OIXh_2R": { + "description": "Follow the log stream of the pod. Defaults to false.", + "in": "query", + "name": "follow", + "type": "boolean", + "uniqueItems": true + }, + "force-tOGGb0Yi": { + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "in": "query", + "name": "force", + "type": "boolean", + "uniqueItems": true + }, + "gracePeriodSeconds--K5HaBOS": { + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "in": "query", + "name": "gracePeriodSeconds", + "type": "integer", + "uniqueItems": true + }, + "ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj": { + "description": "if set to true, it will trigger an unsafe deletion of the resource in case the normal deletion flow fails with a corrupt object error. A resource is considered corrupt if it can not be retrieved from the underlying storage successfully because of a) its data can not be transformed e.g. decryption failure, or b) it fails to decode into an object. NOTE: unsafe deletion ignores finalizer constraints, skips precondition checks, and removes the object from the storage. WARNING: This may potentially break the cluster if the workload associated with the resource being unsafe-deleted relies on normal deletion flow. Use only if you REALLY know what you are doing. The default value is false, and the user must opt in to enable it", + "in": "query", + "name": "ignoreStoreReadErrorWithClusterBreakingPotential", + "type": "boolean", + "uniqueItems": true + }, + "insecureSkipTLSVerifyBackend-gM00jVbe": { + "description": "insecureSkipTLSVerifyBackend indicates that the apiserver should not confirm the validity of the serving certificate of the backend it is connecting to. This will make the HTTPS connection between the apiserver and the backend insecure. This means the apiserver cannot verify the log data it is receiving came from the real kubelet. If the kubelet is configured to verify the apiserver's TLS credentials, it does not mean the connection to the real kubelet is vulnerable to a man in the middle attack (e.g. an attacker could not intercept the actual log data coming from the real kubelet).", + "in": "query", + "name": "insecureSkipTLSVerifyBackend", + "type": "boolean", + "uniqueItems": true + }, + "labelSelector-5Zw57w4C": { + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "in": "query", + "name": "labelSelector", + "type": "string", + "uniqueItems": true + }, + "limit-1NfNmdNH": { + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "in": "query", + "name": "limit", + "type": "integer", + "uniqueItems": true + }, + "limitBytes-zwd1RXuc": { + "description": "If set, the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.", + "in": "query", + "name": "limitBytes", + "type": "integer", + "uniqueItems": true + }, + "namespace-vgWSWtn3": { + "description": "object name and auth scope, such as for teams and projects", + "in": "path", + "name": "namespace", + "required": true, + "type": "string", + "uniqueItems": true + }, + "orphanDependents-uRB25kX5": { + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "in": "query", + "name": "orphanDependents", + "type": "boolean", + "uniqueItems": true + }, + "path-QCf0eosM": { + "description": "Path is the part of URLs that include service endpoints, suffixes, and parameters to use for the current proxy request to service. For example, the whole request URL is http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy. Path is _search?q=user:kimchy.", + "in": "query", + "name": "path", + "type": "string", + "uniqueItems": true + }, + "path-oPbzgLUj": { + "description": "Path is the URL path to use for the current proxy request to pod.", + "in": "query", + "name": "path", + "type": "string", + "uniqueItems": true + }, + "path-rFDtV0x9": { + "description": "Path is the URL path to use for the current proxy request to node.", + "in": "query", + "name": "path", + "type": "string", + "uniqueItems": true + }, + "path-z6Ciiujn": { + "description": "path to the resource", + "in": "path", + "name": "path", + "required": true, + "type": "string", + "uniqueItems": true + }, + "ports-91KROJmm": { + "description": "List of ports to forward Required when using WebSockets", + "in": "query", + "name": "ports", + "type": "integer", + "uniqueItems": true + }, + "pretty-tJGM1-ng": { + "description": "If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).", + "in": "query", + "name": "pretty", + "type": "string", + "uniqueItems": true + }, + "previous-1jxDPu3y": { + "description": "Return previous terminated container logs. Defaults to false.", + "in": "query", + "name": "previous", + "type": "boolean", + "uniqueItems": true + }, + "propagationPolicy-6jk3prlO": { + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "in": "query", + "name": "propagationPolicy", + "type": "string", + "uniqueItems": true + }, + "resourceVersion-5WAnf1kx": { + "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", + "in": "query", + "name": "resourceVersion", + "type": "string", + "uniqueItems": true + }, + "resourceVersionMatch-t8XhRHeC": { + "description": "resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", + "in": "query", + "name": "resourceVersionMatch", + "type": "string", + "uniqueItems": true + }, + "sendInitialEvents-rLXlEK_k": { + "description": "`sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"k8s.io/initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise.", + "in": "query", + "name": "sendInitialEvents", + "type": "boolean", + "uniqueItems": true + }, + "sinceSeconds-vE2NLdnP": { + "description": "A relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.", + "in": "query", + "name": "sinceSeconds", + "type": "integer", + "uniqueItems": true + }, + "stderr-26jJhFUR": { + "description": "Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.", + "in": "query", + "name": "stderr", + "type": "boolean", + "uniqueItems": true + }, + "stderr-W_1TNlWc": { + "description": "Redirect the standard error stream of the pod for this call.", + "in": "query", + "name": "stderr", + "type": "boolean", + "uniqueItems": true + }, + "stdin-PSzNhyUC": { + "description": "Redirect the standard input stream of the pod for this call. Defaults to false.", + "in": "query", + "name": "stdin", + "type": "boolean", + "uniqueItems": true + }, + "stdin-sEFnN3IS": { + "description": "Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.", + "in": "query", + "name": "stdin", + "type": "boolean", + "uniqueItems": true + }, + "stdout--EZLRwV1": { + "description": "Redirect the standard output stream of the pod for this call.", + "in": "query", + "name": "stdout", + "type": "boolean", + "uniqueItems": true + }, + "stdout-005YMKE6": { + "description": "Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.", + "in": "query", + "name": "stdout", + "type": "boolean", + "uniqueItems": true + }, + "stream-l-48cgXv": { + "description": "Specify which container log stream to return to the client. Acceptable values are \"All\", \"Stdout\" and \"Stderr\". If not specified, \"All\" is used, and both stdout and stderr are returned interleaved. Note that when \"TailLines\" is specified, \"Stream\" can only be set to nil or \"All\".", + "in": "query", + "name": "stream", + "type": "string", + "uniqueItems": true + }, + "tailLines-9xQLWHMV": { + "description": "If set, the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime. Note that when \"TailLines\" is specified, \"Stream\" can only be set to nil or \"All\".", + "in": "query", + "name": "tailLines", + "type": "integer", + "uniqueItems": true + }, + "timeoutSeconds-yvYezaOC": { + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "in": "query", + "name": "timeoutSeconds", + "type": "integer", + "uniqueItems": true + }, + "timestamps-c17fW1w_": { + "description": "If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.", + "in": "query", + "name": "timestamps", + "type": "boolean", + "uniqueItems": true + }, + "tty-g7MlET_l": { + "description": "TTY if true indicates that a tty will be allocated for the attach call. This is passed through the container runtime so the tty is allocated on the worker node by the container runtime. Defaults to false.", + "in": "query", + "name": "tty", + "type": "boolean", + "uniqueItems": true + }, + "tty-s0flW37O": { + "description": "TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.", + "in": "query", + "name": "tty", + "type": "boolean", + "uniqueItems": true + }, + "watch-XNNPZGbK": { + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "in": "query", + "name": "watch", + "type": "boolean", + "uniqueItems": true + } + }, + "paths": { + "/.well-known/openid-configuration/": { + "get": { + "description": "get service account issuer OpenID configuration, also known as the 'OIDC discovery doc'", + "operationId": "getServiceAccountIssuerOpenIDConfiguration", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "WellKnown" + ] + } + }, + "/api/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available API versions", + "operationId": "getCoreAPIVersions", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIVersions" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core" + ] + } + }, + "/api/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getCoreV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ] + } + }, + "/api/v1/componentstatuses": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list objects of kind ComponentStatus", + "operationId": "listCoreV1ComponentStatus", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ComponentStatusList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ComponentStatus", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/componentstatuses/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "read the specified ComponentStatus", + "operationId": "readCoreV1ComponentStatus", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ComponentStatus" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ComponentStatus", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the ComponentStatus", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ] + }, + "/api/v1/configmaps": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind ConfigMap", + "operationId": "listCoreV1ConfigMapForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ConfigMap", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/endpoints": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind Endpoints", + "operationId": "listCoreV1EndpointsForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.EndpointsList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Endpoints", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/events": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind Event", + "operationId": "listCoreV1EventForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.EventList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Event", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/limitranges": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind LimitRange", + "operationId": "listCoreV1LimitRangeForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRangeList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "LimitRange", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/namespaces": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind Namespace", + "operationId": "listCoreV1Namespace", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.NamespaceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Namespace", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a Namespace", + "operationId": "createCoreV1Namespace", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Namespace", + "version": "v1" + } + } + }, + "/api/v1/namespaces/{namespace}/bindings": { + "parameters": [ + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a Binding", + "operationId": "createCoreV1NamespacedBinding", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + } + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Binding", + "version": "v1" + } + } + }, + "/api/v1/namespaces/{namespace}/configmaps": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete collection of ConfigMap", + "operationId": "deleteCoreV1CollectionNamespacedConfigMap", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ConfigMap", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind ConfigMap", + "operationId": "listCoreV1NamespacedConfigMap", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ConfigMap", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a ConfigMap", + "operationId": "createCoreV1NamespacedConfigMap", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ConfigMap", + "version": "v1" + } + } + }, + "/api/v1/namespaces/{namespace}/configmaps/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete a ConfigMap", + "operationId": "deleteCoreV1NamespacedConfigMap", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ConfigMap", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "read the specified ConfigMap", + "operationId": "readCoreV1NamespacedConfigMap", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ConfigMap", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the ConfigMap", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified ConfigMap", + "operationId": "patchCoreV1NamespacedConfigMap", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ConfigMap", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace the specified ConfigMap", + "operationId": "replaceCoreV1NamespacedConfigMap", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ConfigMap", + "version": "v1" + } + } + }, + "/api/v1/namespaces/{namespace}/endpoints": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete collection of Endpoints", + "operationId": "deleteCoreV1CollectionNamespacedEndpoints", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Endpoints", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind Endpoints", + "operationId": "listCoreV1NamespacedEndpoints", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.EndpointsList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Endpoints", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create Endpoints", + "operationId": "createCoreV1NamespacedEndpoints", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Endpoints", + "version": "v1" + } + } + }, + "/api/v1/namespaces/{namespace}/endpoints/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete Endpoints", + "operationId": "deleteCoreV1NamespacedEndpoints", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Endpoints", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "read the specified Endpoints", + "operationId": "readCoreV1NamespacedEndpoints", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Endpoints", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the Endpoints", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified Endpoints", + "operationId": "patchCoreV1NamespacedEndpoints", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Endpoints", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace the specified Endpoints", + "operationId": "replaceCoreV1NamespacedEndpoints", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Endpoints", + "version": "v1" } - ] + } }, - "io.traefik.v1alpha1.TraefikServiceList": { - "description": "TraefikServiceList is a list of TraefikService", - "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" - }, - "items": { - "description": "List of traefikservices. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md", - "items": { - "$ref": "#/definitions/io.traefik.v1alpha1.TraefikService" + "/api/v1/namespaces/{namespace}/events": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete collection of Event", + "operationId": "deleteCoreV1CollectionNamespacedEvent", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" }, - "type": "array" - }, - "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" + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } }, - "metadata": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta", - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Event", + "version": "v1" } }, - "required": [ - "items" - ], - "type": "object", - "x-kubernetes-group-version-kind": [ - { - "group": "traefik.io", - "kind": "TraefikServiceList", - "version": "v1alpha1" - } - ] - } - }, - "info": { - "title": "Kubernetes", - "version": "1.33" - }, - "parameters": { - "allowWatchBookmarks-HC2hJt-J": { - "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.", - "in": "query", - "name": "allowWatchBookmarks", - "type": "boolean", - "uniqueItems": true - }, - "body-2Y1dVQaQ": { - "in": "body", - "name": "body", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" - } - }, - "body-78PwaGsr": { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" - } - }, - "command-Py3eQybp": { - "description": "Command is the remote command to execute. argv array. Not executed within a shell.", - "in": "query", - "name": "command", - "type": "string", - "uniqueItems": true - }, - "container-1GeXxFDC": { - "description": "The container for which to stream logs. Defaults to only container if there is one container in the pod.", - "in": "query", - "name": "container", - "type": "string", - "uniqueItems": true - }, - "container-_Q-EJ3nR": { - "description": "The container in which to execute the command. Defaults to only container if there is only one container in the pod.", - "in": "query", - "name": "container", - "type": "string", - "uniqueItems": true - }, - "container-i5dOmRiM": { - "description": "Container in which to execute the command. Defaults to only container if there is only one container in the pod.", - "in": "query", - "name": "container", - "type": "string", - "uniqueItems": true - }, - "continue-QfD61s0i": { - "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", - "in": "query", - "name": "continue", - "type": "string", - "uniqueItems": true - }, - "fieldManager-7c6nTn1T": { - "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", - "in": "query", - "name": "fieldManager", - "type": "string", - "uniqueItems": true - }, - "fieldManager-Qy4HdaTW": { - "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", - "in": "query", - "name": "fieldManager", - "type": "string", - "uniqueItems": true - }, - "fieldSelector-xIcQKXFG": { - "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", - "in": "query", - "name": "fieldSelector", - "type": "string", - "uniqueItems": true - }, - "follow-9OIXh_2R": { - "description": "Follow the log stream of the pod. Defaults to false.", - "in": "query", - "name": "follow", - "type": "boolean", - "uniqueItems": true - }, - "force-tOGGb0Yi": { - "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", - "in": "query", - "name": "force", - "type": "boolean", - "uniqueItems": true - }, - "gracePeriodSeconds--K5HaBOS": { - "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", - "in": "query", - "name": "gracePeriodSeconds", - "type": "integer", - "uniqueItems": true - }, - "ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj": { - "description": "if set to true, it will trigger an unsafe deletion of the resource in case the normal deletion flow fails with a corrupt object error. A resource is considered corrupt if it can not be retrieved from the underlying storage successfully because of a) its data can not be transformed e.g. decryption failure, or b) it fails to decode into an object. NOTE: unsafe deletion ignores finalizer constraints, skips precondition checks, and removes the object from the storage. WARNING: This may potentially break the cluster if the workload associated with the resource being unsafe-deleted relies on normal deletion flow. Use only if you REALLY know what you are doing. The default value is false, and the user must opt in to enable it", - "in": "query", - "name": "ignoreStoreReadErrorWithClusterBreakingPotential", - "type": "boolean", - "uniqueItems": true - }, - "insecureSkipTLSVerifyBackend-gM00jVbe": { - "description": "insecureSkipTLSVerifyBackend indicates that the apiserver should not confirm the validity of the serving certificate of the backend it is connecting to. This will make the HTTPS connection between the apiserver and the backend insecure. This means the apiserver cannot verify the log data it is receiving came from the real kubelet. If the kubelet is configured to verify the apiserver's TLS credentials, it does not mean the connection to the real kubelet is vulnerable to a man in the middle attack (e.g. an attacker could not intercept the actual log data coming from the real kubelet).", - "in": "query", - "name": "insecureSkipTLSVerifyBackend", - "type": "boolean", - "uniqueItems": true - }, - "labelSelector-5Zw57w4C": { - "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", - "in": "query", - "name": "labelSelector", - "type": "string", - "uniqueItems": true - }, - "limit-1NfNmdNH": { - "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", - "in": "query", - "name": "limit", - "type": "integer", - "uniqueItems": true - }, - "limitBytes-zwd1RXuc": { - "description": "If set, the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.", - "in": "query", - "name": "limitBytes", - "type": "integer", - "uniqueItems": true - }, - "namespace-vgWSWtn3": { - "description": "object name and auth scope, such as for teams and projects", - "in": "path", - "name": "namespace", - "required": true, - "type": "string", - "uniqueItems": true - }, - "orphanDependents-uRB25kX5": { - "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", - "in": "query", - "name": "orphanDependents", - "type": "boolean", - "uniqueItems": true - }, - "path-QCf0eosM": { - "description": "Path is the part of URLs that include service endpoints, suffixes, and parameters to use for the current proxy request to service. For example, the whole request URL is http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy. Path is _search?q=user:kimchy.", - "in": "query", - "name": "path", - "type": "string", - "uniqueItems": true - }, - "path-oPbzgLUj": { - "description": "Path is the URL path to use for the current proxy request to pod.", - "in": "query", - "name": "path", - "type": "string", - "uniqueItems": true - }, - "path-rFDtV0x9": { - "description": "Path is the URL path to use for the current proxy request to node.", - "in": "query", - "name": "path", - "type": "string", - "uniqueItems": true - }, - "path-z6Ciiujn": { - "description": "path to the resource", - "in": "path", - "name": "path", - "required": true, - "type": "string", - "uniqueItems": true - }, - "ports-91KROJmm": { - "description": "List of ports to forward Required when using WebSockets", - "in": "query", - "name": "ports", - "type": "integer", - "uniqueItems": true - }, - "pretty-tJGM1-ng": { - "description": "If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).", - "in": "query", - "name": "pretty", - "type": "string", - "uniqueItems": true - }, - "previous-1jxDPu3y": { - "description": "Return previous terminated container logs. Defaults to false.", - "in": "query", - "name": "previous", - "type": "boolean", - "uniqueItems": true - }, - "propagationPolicy-6jk3prlO": { - "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", - "in": "query", - "name": "propagationPolicy", - "type": "string", - "uniqueItems": true - }, - "resourceVersion-5WAnf1kx": { - "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", - "in": "query", - "name": "resourceVersion", - "type": "string", - "uniqueItems": true - }, - "resourceVersionMatch-t8XhRHeC": { - "description": "resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset", - "in": "query", - "name": "resourceVersionMatch", - "type": "string", - "uniqueItems": true - }, - "sendInitialEvents-rLXlEK_k": { - "description": "`sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"k8s.io/initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise.", - "in": "query", - "name": "sendInitialEvents", - "type": "boolean", - "uniqueItems": true - }, - "sinceSeconds-vE2NLdnP": { - "description": "A relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.", - "in": "query", - "name": "sinceSeconds", - "type": "integer", - "uniqueItems": true - }, - "stderr-26jJhFUR": { - "description": "Stderr if true indicates that stderr is to be redirected for the attach call. Defaults to true.", - "in": "query", - "name": "stderr", - "type": "boolean", - "uniqueItems": true - }, - "stderr-W_1TNlWc": { - "description": "Redirect the standard error stream of the pod for this call.", - "in": "query", - "name": "stderr", - "type": "boolean", - "uniqueItems": true - }, - "stdin-PSzNhyUC": { - "description": "Redirect the standard input stream of the pod for this call. Defaults to false.", - "in": "query", - "name": "stdin", - "type": "boolean", - "uniqueItems": true - }, - "stdin-sEFnN3IS": { - "description": "Stdin if true, redirects the standard input stream of the pod for this call. Defaults to false.", - "in": "query", - "name": "stdin", - "type": "boolean", - "uniqueItems": true - }, - "stdout--EZLRwV1": { - "description": "Redirect the standard output stream of the pod for this call.", - "in": "query", - "name": "stdout", - "type": "boolean", - "uniqueItems": true - }, - "stdout-005YMKE6": { - "description": "Stdout if true indicates that stdout is to be redirected for the attach call. Defaults to true.", - "in": "query", - "name": "stdout", - "type": "boolean", - "uniqueItems": true - }, - "stream-l-48cgXv": { - "description": "Specify which container log stream to return to the client. Acceptable values are \"All\", \"Stdout\" and \"Stderr\". If not specified, \"All\" is used, and both stdout and stderr are returned interleaved. Note that when \"TailLines\" is specified, \"Stream\" can only be set to nil or \"All\".", - "in": "query", - "name": "stream", - "type": "string", - "uniqueItems": true - }, - "tailLines-9xQLWHMV": { - "description": "If set, the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime. Note that when \"TailLines\" is specified, \"Stream\" can only be set to nil or \"All\".", - "in": "query", - "name": "tailLines", - "type": "integer", - "uniqueItems": true - }, - "timeoutSeconds-yvYezaOC": { - "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", - "in": "query", - "name": "timeoutSeconds", - "type": "integer", - "uniqueItems": true - }, - "timestamps-c17fW1w_": { - "description": "If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.", - "in": "query", - "name": "timestamps", - "type": "boolean", - "uniqueItems": true - }, - "tty-g7MlET_l": { - "description": "TTY if true indicates that a tty will be allocated for the attach call. This is passed through the container runtime so the tty is allocated on the worker node by the container runtime. Defaults to false.", - "in": "query", - "name": "tty", - "type": "boolean", - "uniqueItems": true - }, - "tty-s0flW37O": { - "description": "TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.", - "in": "query", - "name": "tty", - "type": "boolean", - "uniqueItems": true - }, - "watch-XNNPZGbK": { - "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", - "in": "query", - "name": "watch", - "type": "boolean", - "uniqueItems": true - } - }, - "paths": { - "/.well-known/openid-configuration/": { "get": { - "description": "get service account issuer OpenID configuration, also known as the 'OIDC discovery doc'", - "operationId": "getServiceAccountIssuerOpenIDConfiguration", + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind Event", + "operationId": "listCoreV1NamespacedEvent", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ - "application/json" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.EventList" } }, "401": { @@ -26871,19 +30576,170 @@ "https" ], "tags": [ - "WellKnown" - ] + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Event", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create an Event", + "operationId": "createCoreV1NamespacedEvent", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Event" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Event" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Event" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Event" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Event", + "version": "v1" + } } }, - "/api/": { - "get": { + "/api/v1/namespaces/{namespace}/events/{name}": { + "delete": { "consumes": [ + "*/*" + ], + "description": "delete an Event", + "operationId": "deleteCoreV1NamespacedEvent", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ "application/json", "application/yaml", "application/vnd.kubernetes.protobuf" ], - "description": "get available API versions", - "operationId": "getCoreAPIVersions", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Event", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "read the specified Event", + "operationId": "readCoreV1NamespacedEvent", "produces": [ "application/json", "application/yaml", @@ -26893,7 +30749,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIVersions" + "$ref": "#/definitions/io.k8s.api.core.v1.Event" } }, "401": { @@ -26904,19 +30760,133 @@ "https" ], "tags": [ - "core" - ] - } - }, - "/api/v1/": { - "get": { + "core_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Event", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the Event", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified Event", + "operationId": "patchCoreV1NamespacedEvent", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } + ], + "produces": [ "application/json", "application/yaml", "application/vnd.kubernetes.protobuf" ], - "description": "get available resources", - "operationId": "getCoreV1APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Event" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Event" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Event", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace the specified Event", + "operationId": "replaceCoreV1NamespacedEvent", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Event" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", @@ -26926,7 +30896,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.api.core.v1.Event" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Event" } }, "401": { @@ -26938,16 +30914,137 @@ ], "tags": [ "core_v1" - ] + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Event", + "version": "v1" + } } }, - "/api/v1/componentstatuses": { + "/api/v1/namespaces/{namespace}/limitranges": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete collection of LimitRange", + "operationId": "deleteCoreV1CollectionNamespacedLimitRange", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "LimitRange", + "version": "v1" + } + }, "get": { "consumes": [ "*/*" ], - "description": "list objects of kind ComponentStatus", - "operationId": "listCoreV1ComponentStatus", + "description": "list or watch objects of kind LimitRange", + "operationId": "listCoreV1NamespacedLimitRange", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", @@ -26959,7 +31056,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ComponentStatusList" + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRangeList" } }, "401": { @@ -26975,53 +31072,51 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ComponentStatus", + "kind": "LimitRange", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/componentstatuses/{name}": { - "get": { + ], + "post": { "consumes": [ "*/*" ], - "description": "read the specified ComponentStatus", - "operationId": "readCoreV1ComponentStatus", + "description": "create a LimitRange", + "operationId": "createCoreV1NamespacedLimitRange", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", @@ -27031,7 +31126,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ComponentStatus" + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" } }, "401": { @@ -27044,46 +31151,61 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ComponentStatus", + "kind": "LimitRange", "version": "v1" } - }, - "parameters": [ - { - "description": "name of the ComponentStatus", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ] + } }, - "/api/v1/configmaps": { - "get": { + "/api/v1/namespaces/{namespace}/limitranges/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ConfigMap", - "operationId": "listCoreV1ConfigMapForAllNamespaces", + "description": "delete a LimitRange", + "operationId": "deleteCoreV1NamespacedLimitRange", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -27096,68 +31218,29 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ConfigMap", + "kind": "LimitRange", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/endpoints": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Endpoints", - "operationId": "listCoreV1EndpointsForAllNamespaces", + "description": "read the specified LimitRange", + "operationId": "readCoreV1NamespacedLimitRange", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.EndpointsList" + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" } }, "401": { @@ -27170,68 +31253,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Endpoints", + "kind": "LimitRange", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" + "description": "name of the LimitRange", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/events": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified LimitRange", + "operationId": "patchCoreV1NamespacedLimitRange", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "list or watch objects of kind Event", - "operationId": "listCoreV1EventForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.EventList" + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" } }, "401": { @@ -27244,68 +31338,62 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Event", + "kind": "LimitRange", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/limitranges": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind LimitRange", - "operationId": "listCoreV1LimitRangeForAllNamespaces", + "description": "replace the specified LimitRange", + "operationId": "replaceCoreV1NamespacedLimitRange", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRangeList" + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" } }, "401": { @@ -27318,72 +31406,56 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", "kind": "LimitRange", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/api/v1/namespaces": { - "get": { + "/api/v1/namespaces/{namespace}/persistentvolumeclaims": { + "delete": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Namespace", - "operationId": "listCoreV1Namespace", + "description": "delete collection of PersistentVolumeClaim", + "operationId": "deleteCoreV1CollectionNamespacedPersistentVolumeClaim", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "$ref": "#/parameters/continue-QfD61s0i" }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -27395,23 +31467,18 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.NamespaceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -27424,73 +31491,63 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Namespace", + "kind": "PersistentVolumeClaim", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { + "get": { "consumes": [ "*/*" ], - "description": "create a Namespace", - "operationId": "createCoreV1Namespace", + "description": "list or watch objects of kind PersistentVolumeClaim", + "operationId": "listCoreV1NamespacedPersistentVolumeClaim", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/continue-QfD61s0i" }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimList" } }, "401": { @@ -27503,33 +31560,14 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Namespace", + "kind": "PersistentVolumeClaim", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/bindings": { + }, "parameters": [ - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, @@ -27541,16 +31579,33 @@ "consumes": [ "*/*" ], - "description": "create a Binding", - "operationId": "createCoreV1NamespacedBinding", + "description": "create a PersistentVolumeClaim", + "operationId": "createCoreV1NamespacedPersistentVolumeClaim", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Binding" - } + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } ], "produces": [ @@ -27562,19 +31617,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "401": { @@ -27590,25 +31645,22 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Binding", + "kind": "PersistentVolumeClaim", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/configmaps": { + "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ConfigMap", - "operationId": "deleteCoreV1CollectionNamespacedConfigMap", + "description": "delete a PersistentVolumeClaim", + "operationId": "deleteCoreV1NamespacedPersistentVolumeClaim", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", "in": "query", @@ -27616,38 +31668,17 @@ "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, { "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, { "$ref": "#/parameters/orphanDependents-uRB25kX5" }, { "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" } ], "produces": [ @@ -27659,7 +31690,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "401": { @@ -27672,10 +31709,10 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ConfigMap", + "kind": "PersistentVolumeClaim", "version": "v1" } }, @@ -27683,52 +31720,18 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ConfigMap", - "operationId": "listCoreV1NamespacedConfigMap", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "read the specified PersistentVolumeClaim", + "operationId": "readCoreV1NamespacedPersistentVolumeClaim", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapList" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "401": { @@ -27741,14 +31744,22 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ConfigMap", + "kind": "PersistentVolumeClaim", "version": "v1" } }, "parameters": [ + { + "description": "name of the PersistentVolumeClaim", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, @@ -27756,20 +31767,18 @@ "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "post": { + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" ], - "description": "create a ConfigMap", - "operationId": "createCoreV1NamespacedConfigMap", + "description": "partially update the specified PersistentVolumeClaim", + "operationId": "patchCoreV1NamespacedPersistentVolumeClaim", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" - } + "$ref": "#/parameters/body-78PwaGsr" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -27779,7 +31788,7 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", @@ -27787,6 +31796,9 @@ "name": "fieldValidation", "type": "string", "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -27798,19 +31810,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "401": { @@ -27823,24 +31829,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ConfigMap", + "kind": "PersistentVolumeClaim", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/configmaps/{name}": { - "delete": { + }, + "put": { "consumes": [ "*/*" ], - "description": "delete a ConfigMap", - "operationId": "deleteCoreV1NamespacedConfigMap", + "description": "replace the specified PersistentVolumeClaim", + "operationId": "replaceCoreV1NamespacedPersistentVolumeClaim", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + } }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -27850,16 +31859,14 @@ "uniqueItems": true }, { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } ], "produces": [ @@ -27871,13 +31878,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, - "202": { - "description": "Accepted", + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "401": { @@ -27890,19 +31897,21 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ConfigMap", + "kind": "PersistentVolumeClaim", "version": "v1" } - }, + } + }, + "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read the specified ConfigMap", - "operationId": "readCoreV1NamespacedConfigMap", + "description": "read status of the specified PersistentVolumeClaim", + "operationId": "readCoreV1NamespacedPersistentVolumeClaimStatus", "produces": [ "application/json", "application/yaml", @@ -27912,7 +31921,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "401": { @@ -27928,13 +31937,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ConfigMap", + "kind": "PersistentVolumeClaim", "version": "v1" } }, "parameters": [ { - "description": "name of the ConfigMap", + "description": "name of the PersistentVolumeClaim", "in": "path", "name": "name", "required": true, @@ -27955,8 +31964,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ConfigMap", - "operationId": "patchCoreV1NamespacedConfigMap", + "description": "partially update status of the specified PersistentVolumeClaim", + "operationId": "patchCoreV1NamespacedPersistentVolumeClaimStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -27991,13 +32000,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "401": { @@ -28013,7 +32022,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ConfigMap", + "kind": "PersistentVolumeClaim", "version": "v1" } }, @@ -28021,15 +32030,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified ConfigMap", - "operationId": "replaceCoreV1NamespacedConfigMap", + "description": "replace status of the specified PersistentVolumeClaim", + "operationId": "replaceCoreV1NamespacedPersistentVolumeClaimStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, { @@ -28059,13 +32068,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMap" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" } }, "401": { @@ -28081,18 +32090,18 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ConfigMap", + "kind": "PersistentVolumeClaim", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/endpoints": { + "/api/v1/namespaces/{namespace}/pods": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of Endpoints", - "operationId": "deleteCoreV1CollectionNamespacedEndpoints", + "description": "delete collection of Pod", + "operationId": "deleteCoreV1CollectionNamespacedPod", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -28166,60 +32175,329 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Endpoints", + "kind": "Pod", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind Pod", + "operationId": "listCoreV1NamespacedPod", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PodList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Pod", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a Pod", + "operationId": "createCoreV1NamespacedPod", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Pod", + "version": "v1" + } + } + }, + "/api/v1/namespaces/{namespace}/pods/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete a Pod", + "operationId": "deleteCoreV1NamespacedPod", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Pod", "version": "v1" } }, "get": { "consumes": [ - "*/*" + "*/*" + ], + "description": "read the specified Pod", + "operationId": "readCoreV1NamespacedPod", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Pod", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the Pod", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" ], - "description": "list or watch objects of kind Endpoints", - "operationId": "listCoreV1NamespacedEndpoints", + "description": "partially update the specified Pod", + "operationId": "patchCoreV1NamespacedPod", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" + "$ref": "#/parameters/body-78PwaGsr" }, { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/watch-XNNPZGbK" + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.EndpointsList" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "401": { @@ -28232,34 +32510,26 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Endpoints", + "kind": "Pod", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { + "put": { "consumes": [ "*/*" ], - "description": "create Endpoints", - "operationId": "createCoreV1NamespacedEndpoints", + "description": "replace the specified Pod", + "operationId": "replaceCoreV1NamespacedPod", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, { @@ -28289,19 +32559,48 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, - "202": { - "description": "Accepted", + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Pod", + "version": "v1" + } + } + }, + "/api/v1/namespaces/{namespace}/pods/{name}/attach": { + "get": { + "consumes": [ + "*/*" + ], + "description": "connect GET requests to attach of Pod", + "operationId": "connectCoreV1GetNamespacedPodAttach", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + "type": "string" } }, "401": { @@ -28314,43 +32613,123 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Endpoints", + "kind": "PodAttachOptions", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/container-_Q-EJ3nR" + }, + { + "description": "name of the PodAttachOptions", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/stderr-26jJhFUR" + }, + { + "$ref": "#/parameters/stdin-sEFnN3IS" + }, + { + "$ref": "#/parameters/stdout-005YMKE6" + }, + { + "$ref": "#/parameters/tty-g7MlET_l" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "connect POST requests to attach of Pod", + "operationId": "connectCoreV1PostNamespacedPodAttach", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "PodAttachOptions", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/endpoints/{name}": { - "delete": { + "/api/v1/namespaces/{namespace}/pods/{name}/binding": { + "parameters": [ + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "description": "name of the Binding", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { "consumes": [ "*/*" ], - "description": "delete Endpoints", - "operationId": "deleteCoreV1NamespacedEndpoints", + "description": "create binding of a Pod", + "operationId": "createCoreV1NamespacedPodBinding", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + } } ], "produces": [ @@ -28362,13 +32741,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Binding" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.core.v1.Binding" } }, "401": { @@ -28381,19 +32766,21 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Endpoints", + "kind": "Binding", "version": "v1" } - }, + } + }, + "/api/v1/namespaces/{namespace}/pods/{name}/ephemeralcontainers": { "get": { "consumes": [ "*/*" ], - "description": "read the specified Endpoints", - "operationId": "readCoreV1NamespacedEndpoints", + "description": "read ephemeralcontainers of the specified Pod", + "operationId": "readCoreV1NamespacedPodEphemeralcontainers", "produces": [ "application/json", "application/yaml", @@ -28403,7 +32790,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "401": { @@ -28419,13 +32806,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Endpoints", + "kind": "Pod", "version": "v1" } }, "parameters": [ { - "description": "name of the Endpoints", + "description": "name of the Pod", "in": "path", "name": "name", "required": true, @@ -28446,8 +32833,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified Endpoints", - "operationId": "patchCoreV1NamespacedEndpoints", + "description": "partially update ephemeralcontainers of the specified Pod", + "operationId": "patchCoreV1NamespacedPodEphemeralcontainers", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -28482,13 +32869,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "401": { @@ -28504,7 +32891,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Endpoints", + "kind": "Pod", "version": "v1" } }, @@ -28512,15 +32899,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified Endpoints", - "operationId": "replaceCoreV1NamespacedEndpoints", + "description": "replace ephemeralcontainers of the specified Pod", + "operationId": "replaceCoreV1NamespacedPodEphemeralcontainers", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, { @@ -28550,13 +32937,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Endpoints" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "401": { @@ -28572,64 +32959,59 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Endpoints", + "kind": "Pod", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/events": { - "delete": { + "/api/v1/namespaces/{namespace}/pods/{name}/eviction": { + "parameters": [ + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "description": "name of the Eviction", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { "consumes": [ "*/*" ], - "description": "delete collection of Event", - "operationId": "deleteCoreV1CollectionNamespacedEvent", + "description": "create eviction of a Pod", + "operationId": "createCoreV1NamespacedPodEviction", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.policy.v1.Eviction" + } } ], "produces": [ @@ -28641,7 +33023,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.policy.v1.Eviction" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.policy.v1.Eviction" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.policy.v1.Eviction" } }, "401": { @@ -28654,63 +33048,29 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Event", + "group": "policy", + "kind": "Eviction", "version": "v1" } - }, + } + }, + "/api/v1/namespaces/{namespace}/pods/{name}/exec": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Event", - "operationId": "listCoreV1NamespacedEvent", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "connect GET requests to exec of Pod", + "operationId": "connectCoreV1GetNamespacedPodExec", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.EventList" + "type": "string" } }, "401": { @@ -28723,76 +33083,58 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Event", + "kind": "PodExecOptions", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/command-Py3eQybp" + }, + { + "$ref": "#/parameters/container-i5dOmRiM" + }, + { + "description": "name of the PodExecOptions", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { - "consumes": [ - "*/*" - ], - "description": "create an Event", - "operationId": "createCoreV1NamespacedEvent", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Event" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } + "$ref": "#/parameters/stderr-W_1TNlWc" + }, + { + "$ref": "#/parameters/stdin-PSzNhyUC" + }, + { + "$ref": "#/parameters/stdout--EZLRwV1" + }, + { + "$ref": "#/parameters/tty-s0flW37O" + } + ], + "post": { + "consumes": [ + "*/*" ], + "description": "connect POST requests to exec of Pod", + "operationId": "connectCoreV1PostNamespacedPodExec", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Event" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Event" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Event" + "type": "string" } }, "401": { @@ -28805,46 +33147,23 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Event", + "kind": "PodExecOptions", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/events/{name}": { - "delete": { + "/api/v1/namespaces/{namespace}/pods/{name}/log": { + "get": { "consumes": [ "*/*" ], - "description": "delete an Event", - "operationId": "deleteCoreV1NamespacedEvent", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "read log of the specified Pod", + "operationId": "readCoreV1NamespacedPodLog", "produces": [ + "text/plain", "application/json", "application/yaml", "application/vnd.kubernetes.protobuf" @@ -28853,13 +33172,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "type": "string" } }, "401": { @@ -28872,29 +33185,72 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Event", + "kind": "Pod", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/container-1GeXxFDC" + }, + { + "$ref": "#/parameters/follow-9OIXh_2R" + }, + { + "$ref": "#/parameters/insecureSkipTLSVerifyBackend-gM00jVbe" + }, + { + "$ref": "#/parameters/limitBytes-zwd1RXuc" + }, + { + "description": "name of the Pod", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/previous-1jxDPu3y" + }, + { + "$ref": "#/parameters/sinceSeconds-vE2NLdnP" + }, + { + "$ref": "#/parameters/stream-l-48cgXv" + }, + { + "$ref": "#/parameters/tailLines-9xQLWHMV" + }, + { + "$ref": "#/parameters/timestamps-c17fW1w_" + } + ] + }, + "/api/v1/namespaces/{namespace}/pods/{name}/portforward": { "get": { "consumes": [ "*/*" ], - "description": "read the specified Event", - "operationId": "readCoreV1NamespacedEvent", + "description": "connect GET requests to portforward of Pod", + "operationId": "connectCoreV1GetNamespacedPodPortforward", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Event" + "type": "string" } }, "401": { @@ -28907,16 +33263,16 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Event", + "kind": "PodPortForwardOptions", "version": "v1" } }, "parameters": [ { - "description": "name of the Event", + "description": "name of the PodPortForwardOptions", "in": "path", "name": "name", "required": true, @@ -28927,59 +33283,23 @@ "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/pretty-tJGM1-ng" + "$ref": "#/parameters/ports-91KROJmm" } ], - "patch": { + "post": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified Event", - "operationId": "patchCoreV1NamespacedEvent", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "connect POST requests to portforward of Pod", + "operationId": "connectCoreV1PostNamespacedPodPortforward", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Event" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Event" + "type": "string" } }, "401": { @@ -28992,62 +33312,62 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Event", + "kind": "PodPortForwardOptions", "version": "v1" } - }, - "put": { + } + }, + "/api/v1/namespaces/{namespace}/pods/{name}/proxy": { + "delete": { "consumes": [ "*/*" ], - "description": "replace the specified Event", - "operationId": "replaceCoreV1NamespacedEvent", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, + "description": "connect DELETE requests to proxy of Pod", + "operationId": "connectCoreV1DeleteNamespacedPodProxy", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Event" + "type": "string" } }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "PodProxyOptions", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" ], + "description": "connect GET requests to proxy of Pod", + "operationId": "connectCoreV1GetNamespacedPodProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Event" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Event" + "type": "string" } }, "401": { @@ -29060,79 +33380,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Event", + "kind": "PodProxyOptions", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/limitranges": { - "delete": { + }, + "head": { "consumes": [ "*/*" ], - "description": "delete collection of LimitRange", - "operationId": "deleteCoreV1CollectionNamespacedLimitRange", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], + "description": "connect HEAD requests to proxy of Pod", + "operationId": "connectCoreV1HeadNamespacedPodProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "type": "string" } }, "401": { @@ -29145,63 +33413,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "LimitRange", + "kind": "PodProxyOptions", "version": "v1" } }, - "get": { + "options": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind LimitRange", - "operationId": "listCoreV1NamespacedLimitRange", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "connect OPTIONS requests to proxy of Pod", + "operationId": "connectCoreV1OptionsNamespacedPodProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRangeList" + "type": "string" } }, "401": { @@ -29214,76 +33446,43 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "LimitRange", + "kind": "PodProxyOptions", "version": "v1" } }, "parameters": [ + { + "description": "name of the PodProxyOptions", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/pretty-tJGM1-ng" + "$ref": "#/parameters/path-oPbzgLUj" } ], - "post": { + "patch": { "consumes": [ "*/*" ], - "description": "create a LimitRange", - "operationId": "createCoreV1NamespacedLimitRange", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "connect PATCH requests to proxy of Pod", + "operationId": "connectCoreV1PatchNamespacedPodProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" + "type": "string" } }, "401": { @@ -29296,61 +33495,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "LimitRange", + "kind": "PodProxyOptions", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/limitranges/{name}": { - "delete": { + }, + "post": { "consumes": [ "*/*" ], - "description": "delete a LimitRange", - "operationId": "deleteCoreV1NamespacedLimitRange", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "connect POST requests to proxy of Pod", + "operationId": "connectCoreV1PostNamespacedPodProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "type": "string" } }, "401": { @@ -29363,29 +33528,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "LimitRange", + "kind": "PodProxyOptions", "version": "v1" } }, - "get": { + "put": { "consumes": [ "*/*" ], - "description": "read the specified LimitRange", - "operationId": "readCoreV1NamespacedLimitRange", + "description": "connect PUT requests to proxy of Pod", + "operationId": "connectCoreV1PutNamespacedPodProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" + "type": "string" } }, "401": { @@ -29398,79 +33561,29 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "LimitRange", + "kind": "PodProxyOptions", "version": "v1" } - }, - "parameters": [ - { - "description": "name of the LimitRange", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { + } + }, + "/api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}": { + "delete": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified LimitRange", - "operationId": "patchCoreV1NamespacedLimitRange", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "connect DELETE requests to proxy of Pod", + "operationId": "connectCoreV1DeleteNamespacedPodProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" + "type": "string" } }, "401": { @@ -29483,62 +33596,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "LimitRange", + "kind": "PodProxyOptions", "version": "v1" } }, - "put": { + "get": { "consumes": [ "*/*" ], - "description": "replace the specified LimitRange", - "operationId": "replaceCoreV1NamespacedLimitRange", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "connect GET requests to proxy of Pod", + "operationId": "connectCoreV1GetNamespacedPodProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.LimitRange" + "type": "string" } }, "401": { @@ -29551,79 +33629,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "LimitRange", + "kind": "PodProxyOptions", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/persistentvolumeclaims": { - "delete": { + }, + "head": { "consumes": [ "*/*" ], - "description": "delete collection of PersistentVolumeClaim", - "operationId": "deleteCoreV1CollectionNamespacedPersistentVolumeClaim", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], + "description": "connect HEAD requests to proxy of Pod", + "operationId": "connectCoreV1HeadNamespacedPodProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "type": "string" } }, "401": { @@ -29636,63 +33662,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "PodProxyOptions", "version": "v1" } }, - "get": { + "options": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind PersistentVolumeClaim", - "operationId": "listCoreV1NamespacedPersistentVolumeClaim", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "connect OPTIONS requests to proxy of Pod", + "operationId": "connectCoreV1OptionsNamespacedPodProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimList" + "type": "string" } }, "401": { @@ -29705,76 +33695,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "PodProxyOptions", "version": "v1" } }, "parameters": [ + { + "description": "name of the PodProxyOptions", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/pretty-tJGM1-ng" + "$ref": "#/parameters/path-z6Ciiujn" + }, + { + "$ref": "#/parameters/path-oPbzgLUj" } ], - "post": { + "patch": { "consumes": [ "*/*" ], - "description": "create a PersistentVolumeClaim", - "operationId": "createCoreV1NamespacedPersistentVolumeClaim", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, + "description": "connect PATCH requests to proxy of Pod", + "operationId": "connectCoreV1PatchNamespacedPodProxyWithPath", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "type": "string" } }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "PodProxyOptions", + "version": "v1" + } + }, + "post": { + "consumes": [ + "*/*" ], + "description": "connect POST requests to proxy of Pod", + "operationId": "connectCoreV1PostNamespacedPodProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "type": "string" } }, "401": { @@ -29787,61 +33780,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "PodProxyOptions", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}": { - "delete": { + }, + "put": { "consumes": [ "*/*" ], - "description": "delete a PersistentVolumeClaim", - "operationId": "deleteCoreV1NamespacedPersistentVolumeClaim", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "connect PUT requests to proxy of Pod", + "operationId": "connectCoreV1PutNamespacedPodProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "type": "string" } }, "401": { @@ -29854,19 +33813,21 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "PodProxyOptions", "version": "v1" } - }, + } + }, + "/api/v1/namespaces/{namespace}/pods/{name}/resize": { "get": { "consumes": [ "*/*" ], - "description": "read the specified PersistentVolumeClaim", - "operationId": "readCoreV1NamespacedPersistentVolumeClaim", + "description": "read resize of the specified Pod", + "operationId": "readCoreV1NamespacedPodResize", "produces": [ "application/json", "application/yaml", @@ -29876,7 +33837,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "401": { @@ -29892,13 +33853,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "Pod", "version": "v1" } }, "parameters": [ { - "description": "name of the PersistentVolumeClaim", + "description": "name of the Pod", "in": "path", "name": "name", "required": true, @@ -29919,8 +33880,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified PersistentVolumeClaim", - "operationId": "patchCoreV1NamespacedPersistentVolumeClaim", + "description": "partially update resize of the specified Pod", + "operationId": "patchCoreV1NamespacedPodResize", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -29955,13 +33916,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "401": { @@ -29977,7 +33938,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "Pod", "version": "v1" } }, @@ -29985,15 +33946,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified PersistentVolumeClaim", - "operationId": "replaceCoreV1NamespacedPersistentVolumeClaim", + "description": "replace resize of the specified Pod", + "operationId": "replaceCoreV1NamespacedPodResize", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, { @@ -30023,13 +33984,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "401": { @@ -30045,18 +34006,18 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "Pod", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status": { + "/api/v1/namespaces/{namespace}/pods/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified PersistentVolumeClaim", - "operationId": "readCoreV1NamespacedPersistentVolumeClaimStatus", + "description": "read status of the specified Pod", + "operationId": "readCoreV1NamespacedPodStatus", "produces": [ "application/json", "application/yaml", @@ -30066,7 +34027,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "401": { @@ -30082,13 +34043,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "Pod", "version": "v1" } }, "parameters": [ { - "description": "name of the PersistentVolumeClaim", + "description": "name of the Pod", "in": "path", "name": "name", "required": true, @@ -30109,8 +34070,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified PersistentVolumeClaim", - "operationId": "patchCoreV1NamespacedPersistentVolumeClaimStatus", + "description": "partially update status of the specified Pod", + "operationId": "patchCoreV1NamespacedPodStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -30145,13 +34106,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "401": { @@ -30167,7 +34128,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "Pod", "version": "v1" } }, @@ -30175,15 +34136,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified PersistentVolumeClaim", - "operationId": "replaceCoreV1NamespacedPersistentVolumeClaimStatus", + "description": "replace status of the specified Pod", + "operationId": "replaceCoreV1NamespacedPodStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, { @@ -30213,13 +34174,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim" + "$ref": "#/definitions/io.k8s.api.core.v1.Pod" } }, "401": { @@ -30235,18 +34196,18 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "Pod", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/pods": { + "/api/v1/namespaces/{namespace}/podtemplates": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of Pod", - "operationId": "deleteCoreV1CollectionNamespacedPod", + "description": "delete collection of PodTemplate", + "operationId": "deleteCoreV1CollectionNamespacedPodTemplate", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -30320,7 +34281,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "PodTemplate", "version": "v1" } }, @@ -30328,8 +34289,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind Pod", - "operationId": "listCoreV1NamespacedPod", + "description": "list or watch objects of kind PodTemplate", + "operationId": "listCoreV1NamespacedPodTemplate", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -30373,7 +34334,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodList" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplateList" } }, "401": { @@ -30389,7 +34350,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "PodTemplate", "version": "v1" } }, @@ -30405,15 +34366,15 @@ "consumes": [ "*/*" ], - "description": "create a Pod", - "operationId": "createCoreV1NamespacedPod", + "description": "create a PodTemplate", + "operationId": "createCoreV1NamespacedPodTemplate", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, { @@ -30443,19 +34404,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, "401": { @@ -30471,18 +34432,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "PodTemplate", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/pods/{name}": { + "/api/v1/namespaces/{namespace}/podtemplates/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a Pod", - "operationId": "deleteCoreV1NamespacedPod", + "description": "delete a PodTemplate", + "operationId": "deleteCoreV1NamespacedPodTemplate", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -30516,13 +34477,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, "401": { @@ -30538,7 +34499,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "PodTemplate", "version": "v1" } }, @@ -30546,8 +34507,8 @@ "consumes": [ "*/*" ], - "description": "read the specified Pod", - "operationId": "readCoreV1NamespacedPod", + "description": "read the specified PodTemplate", + "operationId": "readCoreV1NamespacedPodTemplate", "produces": [ "application/json", "application/yaml", @@ -30557,7 +34518,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, "401": { @@ -30573,13 +34534,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "PodTemplate", "version": "v1" } }, "parameters": [ { - "description": "name of the Pod", + "description": "name of the PodTemplate", "in": "path", "name": "name", "required": true, @@ -30599,9 +34560,9 @@ "application/merge-patch+json", "application/strategic-merge-patch+json", "application/apply-patch+yaml" - ], - "description": "partially update the specified Pod", - "operationId": "patchCoreV1NamespacedPod", + ], + "description": "partially update the specified PodTemplate", + "operationId": "patchCoreV1NamespacedPodTemplate", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -30636,13 +34597,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, "401": { @@ -30658,7 +34619,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "PodTemplate", "version": "v1" } }, @@ -30666,15 +34627,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified Pod", - "operationId": "replaceCoreV1NamespacedPod", + "description": "replace the specified PodTemplate", + "operationId": "replaceCoreV1NamespacedPodTemplate", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, { @@ -30704,13 +34665,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" } }, "401": { @@ -30726,26 +34687,76 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "PodTemplate", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/pods/{name}/attach": { - "get": { + "/api/v1/namespaces/{namespace}/replicationcontrollers": { + "delete": { "consumes": [ "*/*" ], - "description": "connect GET requests to attach of Pod", - "operationId": "connectCoreV1GetNamespacedPodAttach", + "description": "delete collection of ReplicationController", + "operationId": "deleteCoreV1CollectionNamespacedReplicationController", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -30758,55 +34769,63 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodAttachOptions", + "kind": "ReplicationController", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/container-_Q-EJ3nR" - }, - { - "description": "name of the PodAttachOptions", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/stderr-26jJhFUR" - }, - { - "$ref": "#/parameters/stdin-sEFnN3IS" - }, - { - "$ref": "#/parameters/stdout-005YMKE6" - }, - { - "$ref": "#/parameters/tty-g7MlET_l" - } - ], - "post": { + "get": { "consumes": [ "*/*" ], - "description": "connect POST requests to attach of Pod", - "operationId": "connectCoreV1PostNamespacedPodAttach", + "description": "list or watch objects of kind ReplicationController", + "operationId": "listCoreV1NamespacedReplicationController", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationControllerList" } }, "401": { @@ -30819,41 +34838,14 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodAttachOptions", + "kind": "ReplicationController", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/pods/{name}/binding": { + }, "parameters": [ - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "description": "name of the Binding", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, @@ -30865,16 +34857,33 @@ "consumes": [ "*/*" ], - "description": "create binding of a Pod", - "operationId": "createCoreV1NamespacedPodBinding", + "description": "create a ReplicationController", + "operationId": "createCoreV1NamespacedReplicationController", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } ], "produces": [ @@ -30886,19 +34895,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Binding" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } }, "401": { @@ -30914,75 +34923,21 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Binding", + "kind": "ReplicationController", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/pods/{name}/ephemeralcontainers": { - "get": { + "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "read ephemeralcontainers of the specified Pod", - "operationId": "readCoreV1NamespacedPodEphemeralcontainers", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Pod", - "version": "v1" - } - }, - "parameters": [ - { - "description": "name of the Pod", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update ephemeralcontainers of the specified Pod", - "operationId": "patchCoreV1NamespacedPodEphemeralcontainers", + "description": "delete a ReplicationController", + "operationId": "deleteCoreV1NamespacedReplicationController", "parameters": [ { - "$ref": "#/parameters/body-78PwaGsr" + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -30992,17 +34947,16 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-7c6nTn1T" + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" }, { - "$ref": "#/parameters/force-tOGGb0Yi" + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" } ], "produces": [ @@ -31014,13 +34968,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, - "201": { - "description": "Created", + "202": { + "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -31033,46 +34987,19 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "ReplicationController", "version": "v1" } }, - "put": { + "get": { "consumes": [ "*/*" ], - "description": "replace ephemeralcontainers of the specified Pod", - "operationId": "replaceCoreV1NamespacedPodEphemeralcontainers", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "read the specified ReplicationController", + "operationId": "readCoreV1NamespacedReplicationController", "produces": [ "application/json", "application/yaml", @@ -31082,13 +35009,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } }, "401": { @@ -31101,35 +35022,16 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "ReplicationController", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/pods/{name}/eviction": { + }, "parameters": [ { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "description": "name of the Eviction", + "description": "name of the ReplicationController", "in": "path", "name": "name", "required": true, @@ -31143,20 +35045,38 @@ "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "post": { + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" ], - "description": "create eviction of a Pod", - "operationId": "createCoreV1NamespacedPodEviction", + "description": "partially update the specified ReplicationController", + "operationId": "patchCoreV1NamespacedReplicationController", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.Eviction" - } + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -31168,54 +35088,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.Eviction" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.Eviction" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.Eviction" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "post", - "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "Eviction", - "version": "v1" - } - } - }, - "/api/v1/namespaces/{namespace}/pods/{name}/exec": { - "get": { - "consumes": [ - "*/*" - ], - "description": "connect GET requests to exec of Pod", - "operationId": "connectCoreV1GetNamespacedPodExec", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } }, "401": { @@ -31228,58 +35107,62 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodExecOptions", + "kind": "ReplicationController", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/command-Py3eQybp" - }, - { - "$ref": "#/parameters/container-i5dOmRiM" - }, - { - "description": "name of the PodExecOptions", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/stderr-W_1TNlWc" - }, - { - "$ref": "#/parameters/stdin-PSzNhyUC" - }, - { - "$ref": "#/parameters/stdout--EZLRwV1" - }, - { - "$ref": "#/parameters/tty-s0flW37O" - } - ], - "post": { + "put": { "consumes": [ "*/*" ], - "description": "connect POST requests to exec of Pod", - "operationId": "connectCoreV1PostNamespacedPodExec", + "description": "replace the specified ReplicationController", + "operationId": "replaceCoreV1NamespacedReplicationController", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } }, "401": { @@ -31292,23 +35175,22 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodExecOptions", + "kind": "ReplicationController", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/pods/{name}/log": { + "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale": { "get": { "consumes": [ "*/*" ], - "description": "read log of the specified Pod", - "operationId": "readCoreV1NamespacedPodLog", + "description": "read scale of the specified ReplicationController", + "operationId": "readCoreV1NamespacedReplicationControllerScale", "produces": [ - "text/plain", "application/json", "application/yaml", "application/vnd.kubernetes.protobuf" @@ -31317,7 +35199,7 @@ "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -31332,26 +35214,14 @@ ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Pod", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/container-1GeXxFDC" - }, - { - "$ref": "#/parameters/follow-9OIXh_2R" - }, - { - "$ref": "#/parameters/insecureSkipTLSVerifyBackend-gM00jVbe" - }, - { - "$ref": "#/parameters/limitBytes-zwd1RXuc" - }, - { - "description": "name of the Pod", + "description": "name of the Scale", "in": "path", "name": "name", "required": true, @@ -31363,39 +35233,58 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/previous-1jxDPu3y" - }, - { - "$ref": "#/parameters/sinceSeconds-vE2NLdnP" - }, - { - "$ref": "#/parameters/stream-l-48cgXv" - }, - { - "$ref": "#/parameters/tailLines-9xQLWHMV" - }, - { - "$ref": "#/parameters/timestamps-c17fW1w_" } - ] - }, - "/api/v1/namespaces/{namespace}/pods/{name}/portforward": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update scale of the specified ReplicationController", + "operationId": "patchCoreV1NamespacedReplicationControllerScale", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "connect GET requests to portforward of Pod", - "operationId": "connectCoreV1GetNamespacedPodPortforward", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -31408,43 +35297,62 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PodPortForwardOptions", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } }, - "parameters": [ - { - "description": "name of the PodPortForwardOptions", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/ports-91KROJmm" - } - ], - "post": { + "put": { "consumes": [ "*/*" ], - "description": "connect POST requests to portforward of Pod", - "operationId": "connectCoreV1PostNamespacedPodPortforward", + "description": "replace scale of the specified ReplicationController", + "operationId": "replaceCoreV1NamespacedReplicationControllerScale", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -31457,29 +35365,31 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PodPortForwardOptions", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/pods/{name}/proxy": { - "delete": { + "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status": { + "get": { "consumes": [ "*/*" ], - "description": "connect DELETE requests to proxy of Pod", - "operationId": "connectCoreV1DeleteNamespacedPodProxy", + "description": "read status of the specified ReplicationController", + "operationId": "readCoreV1NamespacedReplicationControllerStatus", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } }, "401": { @@ -31492,27 +35402,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ReplicationController", "version": "v1" } }, - "get": { + "parameters": [ + { + "description": "name of the ReplicationController", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified ReplicationController", + "operationId": "patchCoreV1NamespacedReplicationControllerStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "connect GET requests to proxy of Pod", - "operationId": "connectCoreV1GetNamespacedPodProxy", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } }, "401": { @@ -31525,27 +35487,62 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ReplicationController", "version": "v1" } }, - "head": { + "put": { "consumes": [ "*/*" ], - "description": "connect HEAD requests to proxy of Pod", - "operationId": "connectCoreV1HeadNamespacedPodProxy", + "description": "replace status of the specified ReplicationController", + "operationId": "replaceCoreV1NamespacedReplicationControllerStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" } }, "401": { @@ -31558,27 +35555,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ReplicationController", "version": "v1" } - }, - "options": { + } + }, + "/api/v1/namespaces/{namespace}/resourcequotas": { + "delete": { "consumes": [ "*/*" ], - "description": "connect OPTIONS requests to proxy of Pod", - "operationId": "connectCoreV1OptionsNamespacedPodProxy", + "description": "delete collection of ResourceQuota", + "operationId": "deleteCoreV1CollectionNamespacedResourceQuota", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -31591,43 +35640,63 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ResourceQuota", "version": "v1" } }, - "parameters": [ - { - "description": "name of the PodProxyOptions", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/path-oPbzgLUj" - } - ], - "patch": { + "get": { "consumes": [ "*/*" ], - "description": "connect PATCH requests to proxy of Pod", - "operationId": "connectCoreV1PatchNamespacedPodProxy", + "description": "list or watch objects of kind ResourceQuota", + "operationId": "listCoreV1NamespacedResourceQuota", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuotaList" } }, "401": { @@ -31640,27 +35709,76 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ResourceQuota", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], "post": { "consumes": [ "*/*" ], - "description": "connect POST requests to proxy of Pod", - "operationId": "connectCoreV1PostNamespacedPodProxy", + "description": "create a ResourceQuota", + "operationId": "createCoreV1NamespacedResourceQuota", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" } }, "401": { @@ -31673,27 +35791,61 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ResourceQuota", "version": "v1" } - }, - "put": { + } + }, + "/api/v1/namespaces/{namespace}/resourcequotas/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "connect PUT requests to proxy of Pod", - "operationId": "connectCoreV1PutNamespacedPodProxy", + "description": "delete a ResourceQuota", + "operationId": "deleteCoreV1NamespacedResourceQuota", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" } }, "401": { @@ -31706,29 +35858,29 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ResourceQuota", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}": { - "delete": { + }, + "get": { "consumes": [ "*/*" ], - "description": "connect DELETE requests to proxy of Pod", - "operationId": "connectCoreV1DeleteNamespacedPodProxyWithPath", + "description": "read the specified ResourceQuota", + "operationId": "readCoreV1NamespacedResourceQuota", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" } }, "401": { @@ -31741,27 +35893,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ResourceQuota", "version": "v1" } }, - "get": { + "parameters": [ + { + "description": "name of the ResourceQuota", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified ResourceQuota", + "operationId": "patchCoreV1NamespacedResourceQuota", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "connect GET requests to proxy of Pod", - "operationId": "connectCoreV1GetNamespacedPodProxyWithPath", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" } }, "401": { @@ -31774,27 +35978,62 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ResourceQuota", "version": "v1" } }, - "head": { + "put": { "consumes": [ "*/*" ], - "description": "connect HEAD requests to proxy of Pod", - "operationId": "connectCoreV1HeadNamespacedPodProxyWithPath", + "description": "replace the specified ResourceQuota", + "operationId": "replaceCoreV1NamespacedResourceQuota", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" } }, "401": { @@ -31807,27 +36046,31 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ResourceQuota", "version": "v1" } - }, - "options": { + } + }, + "/api/v1/namespaces/{namespace}/resourcequotas/{name}/status": { + "get": { "consumes": [ "*/*" ], - "description": "connect OPTIONS requests to proxy of Pod", - "operationId": "connectCoreV1OptionsNamespacedPodProxyWithPath", + "description": "read status of the specified ResourceQuota", + "operationId": "readCoreV1NamespacedResourceQuotaStatus", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" } }, "401": { @@ -31840,16 +36083,16 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ResourceQuota", "version": "v1" } }, "parameters": [ { - "description": "name of the PodProxyOptions", + "description": "name of the ResourceQuota", "in": "path", "name": "name", "required": true, @@ -31860,26 +36103,59 @@ "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/path-z6Ciiujn" - }, - { - "$ref": "#/parameters/path-oPbzgLUj" + "$ref": "#/parameters/pretty-tJGM1-ng" } ], "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified ResourceQuota", + "operationId": "patchCoreV1NamespacedResourceQuotaStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "connect PATCH requests to proxy of Pod", - "operationId": "connectCoreV1PatchNamespacedPodProxyWithPath", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" } }, "401": { @@ -31892,60 +36168,62 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ResourceQuota", "version": "v1" } }, - "post": { + "put": { "consumes": [ "*/*" ], - "description": "connect POST requests to proxy of Pod", - "operationId": "connectCoreV1PostNamespacedPodProxyWithPath", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", + "description": "replace status of the specified ResourceQuota", + "operationId": "replaceCoreV1NamespacedResourceQuotaStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" } }, - "401": { - "description": "Unauthorized" + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } - }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "connect", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PodProxyOptions", - "version": "v1" - } - }, - "put": { - "consumes": [ - "*/*" ], - "description": "connect PUT requests to proxy of Pod", - "operationId": "connectCoreV1PutNamespacedPodProxyWithPath", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" } }, "401": { @@ -31958,21 +36236,69 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodProxyOptions", + "kind": "ResourceQuota", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/pods/{name}/resize": { - "get": { + "/api/v1/namespaces/{namespace}/secrets": { + "delete": { "consumes": [ "*/*" ], - "description": "read resize of the specified Pod", - "operationId": "readCoreV1NamespacedPodResize", + "description": "delete collection of Secret", + "operationId": "deleteCoreV1CollectionNamespacedSecret", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", @@ -31982,7 +36308,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -31995,79 +36321,63 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "Secret", "version": "v1" } }, - "parameters": [ - { - "description": "name of the Pod", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" + "*/*" ], - "description": "partially update resize of the specified Pod", - "operationId": "patchCoreV1NamespacedPodResize", + "description": "list or watch objects of kind Secret", + "operationId": "listCoreV1NamespacedSecret", "parameters": [ { - "$ref": "#/parameters/body-78PwaGsr" + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/continue-QfD61s0i" }, { - "$ref": "#/parameters/fieldManager-7c6nTn1T" + "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { - "$ref": "#/parameters/force-tOGGb0Yi" + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.SecretList" } }, "401": { @@ -32080,26 +36390,34 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "Secret", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { "consumes": [ "*/*" ], - "description": "replace resize of the specified Pod", - "operationId": "replaceCoreV1NamespacedPodResize", + "description": "create a Secret", + "operationId": "createCoreV1NamespacedSecret", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.Secret" } }, { @@ -32129,13 +36447,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.Secret" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.Secret" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Secret" } }, "401": { @@ -32148,21 +36472,86 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "Secret", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/pods/{name}/status": { + "/api/v1/namespaces/{namespace}/secrets/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete a Secret", + "operationId": "deleteCoreV1NamespacedSecret", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Secret", + "version": "v1" + } + }, "get": { "consumes": [ "*/*" ], - "description": "read status of the specified Pod", - "operationId": "readCoreV1NamespacedPodStatus", + "description": "read the specified Secret", + "operationId": "readCoreV1NamespacedSecret", "produces": [ "application/json", "application/yaml", @@ -32172,7 +36561,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.Secret" } }, "401": { @@ -32188,13 +36577,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "Secret", "version": "v1" } }, "parameters": [ { - "description": "name of the Pod", + "description": "name of the Secret", "in": "path", "name": "name", "required": true, @@ -32215,8 +36604,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified Pod", - "operationId": "patchCoreV1NamespacedPodStatus", + "description": "partially update the specified Secret", + "operationId": "patchCoreV1NamespacedSecret", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -32251,13 +36640,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.Secret" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.Secret" } }, "401": { @@ -32273,7 +36662,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "Secret", "version": "v1" } }, @@ -32281,15 +36670,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified Pod", - "operationId": "replaceCoreV1NamespacedPodStatus", + "description": "replace the specified Secret", + "operationId": "replaceCoreV1NamespacedSecret", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.Secret" } }, { @@ -32319,13 +36708,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.Secret" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Pod" + "$ref": "#/definitions/io.k8s.api.core.v1.Secret" } }, "401": { @@ -32341,18 +36730,18 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "Secret", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/podtemplates": { + "/api/v1/namespaces/{namespace}/serviceaccounts": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of PodTemplate", - "operationId": "deleteCoreV1CollectionNamespacedPodTemplate", + "description": "delete collection of ServiceAccount", + "operationId": "deleteCoreV1CollectionNamespacedServiceAccount", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -32426,7 +36815,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodTemplate", + "kind": "ServiceAccount", "version": "v1" } }, @@ -32434,8 +36823,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind PodTemplate", - "operationId": "listCoreV1NamespacedPodTemplate", + "description": "list or watch objects of kind ServiceAccount", + "operationId": "listCoreV1NamespacedServiceAccount", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -32479,7 +36868,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplateList" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccountList" } }, "401": { @@ -32495,7 +36884,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodTemplate", + "kind": "ServiceAccount", "version": "v1" } }, @@ -32511,15 +36900,15 @@ "consumes": [ "*/*" ], - "description": "create a PodTemplate", - "operationId": "createCoreV1NamespacedPodTemplate", + "description": "create a ServiceAccount", + "operationId": "createCoreV1NamespacedServiceAccount", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" } }, { @@ -32549,19 +36938,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" } }, "401": { @@ -32577,18 +36966,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodTemplate", + "kind": "ServiceAccount", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/podtemplates/{name}": { + "/api/v1/namespaces/{namespace}/serviceaccounts/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a PodTemplate", - "operationId": "deleteCoreV1NamespacedPodTemplate", + "description": "delete a ServiceAccount", + "operationId": "deleteCoreV1NamespacedServiceAccount", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -32622,13 +37011,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" } }, "401": { @@ -32644,7 +37033,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodTemplate", + "kind": "ServiceAccount", "version": "v1" } }, @@ -32652,8 +37041,8 @@ "consumes": [ "*/*" ], - "description": "read the specified PodTemplate", - "operationId": "readCoreV1NamespacedPodTemplate", + "description": "read the specified ServiceAccount", + "operationId": "readCoreV1NamespacedServiceAccount", "produces": [ "application/json", "application/yaml", @@ -32663,7 +37052,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" } }, "401": { @@ -32679,13 +37068,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodTemplate", + "kind": "ServiceAccount", "version": "v1" } }, "parameters": [ { - "description": "name of the PodTemplate", + "description": "name of the ServiceAccount", "in": "path", "name": "name", "required": true, @@ -32706,8 +37095,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified PodTemplate", - "operationId": "patchCoreV1NamespacedPodTemplate", + "description": "partially update the specified ServiceAccount", + "operationId": "patchCoreV1NamespacedServiceAccount", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -32742,63 +37131,149 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" } }, "401": { "description": "Unauthorized" } }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PodTemplate", - "version": "v1" + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ServiceAccount", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace the specified ServiceAccount", + "operationId": "replaceCoreV1NamespacedServiceAccount", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ServiceAccount", + "version": "v1" + } + } + }, + "/api/v1/namespaces/{namespace}/serviceaccounts/{name}/token": { + "parameters": [ + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "description": "name of the TokenRequest", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" } - }, - "put": { + ], + "post": { "consumes": [ "*/*" ], - "description": "replace the specified PodTemplate", - "operationId": "replaceCoreV1NamespacedPodTemplate", + "description": "create token of a ServiceAccount", + "operationId": "createCoreV1NamespacedServiceAccountToken", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenRequest" } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true } ], "produces": [ @@ -32810,13 +37285,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenRequest" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplate" + "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenRequest" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenRequest" } }, "401": { @@ -32829,21 +37310,21 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PodTemplate", + "group": "authentication.k8s.io", + "kind": "TokenRequest", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/replicationcontrollers": { + "/api/v1/namespaces/{namespace}/services": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ReplicationController", - "operationId": "deleteCoreV1CollectionNamespacedReplicationController", + "description": "delete collection of Service", + "operationId": "deleteCoreV1CollectionNamespacedService", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -32917,7 +37398,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "Service", "version": "v1" } }, @@ -32925,8 +37406,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ReplicationController", - "operationId": "listCoreV1NamespacedReplicationController", + "description": "list or watch objects of kind Service", + "operationId": "listCoreV1NamespacedService", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -32970,7 +37451,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationControllerList" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceList" } }, "401": { @@ -32986,7 +37467,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "Service", "version": "v1" } }, @@ -33002,15 +37483,15 @@ "consumes": [ "*/*" ], - "description": "create a ReplicationController", - "operationId": "createCoreV1NamespacedReplicationController", + "description": "create a Service", + "operationId": "createCoreV1NamespacedService", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, { @@ -33040,19 +37521,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "401": { @@ -33068,18 +37549,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "Service", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}": { + "/api/v1/namespaces/{namespace}/services/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ReplicationController", - "operationId": "deleteCoreV1NamespacedReplicationController", + "description": "delete a Service", + "operationId": "deleteCoreV1NamespacedService", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -33113,13 +37594,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "401": { @@ -33135,7 +37616,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "Service", "version": "v1" } }, @@ -33143,8 +37624,8 @@ "consumes": [ "*/*" ], - "description": "read the specified ReplicationController", - "operationId": "readCoreV1NamespacedReplicationController", + "description": "read the specified Service", + "operationId": "readCoreV1NamespacedService", "produces": [ "application/json", "application/yaml", @@ -33154,7 +37635,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "401": { @@ -33170,13 +37651,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "Service", "version": "v1" } }, "parameters": [ { - "description": "name of the ReplicationController", + "description": "name of the Service", "in": "path", "name": "name", "required": true, @@ -33197,8 +37678,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ReplicationController", - "operationId": "patchCoreV1NamespacedReplicationController", + "description": "partially update the specified Service", + "operationId": "patchCoreV1NamespacedService", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -33233,13 +37714,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "401": { @@ -33255,7 +37736,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "Service", "version": "v1" } }, @@ -33263,15 +37744,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified ReplicationController", - "operationId": "replaceCoreV1NamespacedReplicationController", + "description": "replace the specified Service", + "operationId": "replaceCoreV1NamespacedService", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, { @@ -33301,13 +37782,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "401": { @@ -33323,28 +37804,26 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "Service", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/scale": { - "get": { + "/api/v1/namespaces/{namespace}/services/{name}/proxy": { + "delete": { "consumes": [ "*/*" ], - "description": "read scale of the specified ReplicationController", - "operationId": "readCoreV1NamespacedReplicationControllerScale", + "description": "connect DELETE requests to proxy of Service", + "operationId": "connectCoreV1DeleteNamespacedServiceProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "type": "string" } }, "401": { @@ -33357,79 +37836,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "Scale", + "group": "", + "kind": "ServiceProxyOptions", "version": "v1" } }, - "parameters": [ - { - "description": "name of the Scale", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update scale of the specified ReplicationController", - "operationId": "patchCoreV1NamespacedReplicationControllerScale", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "connect GET requests to proxy of Service", + "operationId": "connectCoreV1GetNamespacedServiceProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "type": "string" } }, "401": { @@ -33442,62 +37869,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "Scale", + "group": "", + "kind": "ServiceProxyOptions", "version": "v1" } }, - "put": { + "head": { "consumes": [ "*/*" ], - "description": "replace scale of the specified ReplicationController", - "operationId": "replaceCoreV1NamespacedReplicationControllerScale", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "connect HEAD requests to proxy of Service", + "operationId": "connectCoreV1HeadNamespacedServiceProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "type": "string" } }, "401": { @@ -33510,31 +37902,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "Scale", + "group": "", + "kind": "ServiceProxyOptions", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status": { - "get": { + }, + "options": { "consumes": [ "*/*" ], - "description": "read status of the specified ReplicationController", - "operationId": "readCoreV1NamespacedReplicationControllerStatus", + "description": "connect OPTIONS requests to proxy of Service", + "operationId": "connectCoreV1OptionsNamespacedServiceProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "type": "string" } }, "401": { @@ -33547,16 +37935,16 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "ServiceProxyOptions", "version": "v1" } }, "parameters": [ { - "description": "name of the ReplicationController", + "description": "name of the ServiceProxyOptions", "in": "path", "name": "name", "required": true, @@ -33567,59 +37955,23 @@ "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/pretty-tJGM1-ng" + "$ref": "#/parameters/path-QCf0eosM" } ], "patch": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified ReplicationController", - "operationId": "patchCoreV1NamespacedReplicationControllerStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "connect PATCH requests to proxy of Service", + "operationId": "connectCoreV1PatchNamespacedServiceProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "type": "string" } }, "401": { @@ -33632,62 +37984,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "ServiceProxyOptions", "version": "v1" } }, - "put": { + "post": { "consumes": [ "*/*" ], - "description": "replace status of the specified ReplicationController", - "operationId": "replaceCoreV1NamespacedReplicationControllerStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "connect POST requests to proxy of Service", + "operationId": "connectCoreV1PostNamespacedServiceProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationController" + "type": "string" } }, "401": { @@ -33700,79 +38017,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "ServiceProxyOptions", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/resourcequotas": { - "delete": { + }, + "put": { "consumes": [ "*/*" ], - "description": "delete collection of ResourceQuota", - "operationId": "deleteCoreV1CollectionNamespacedResourceQuota", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], + "description": "connect PUT requests to proxy of Service", + "operationId": "connectCoreV1PutNamespacedServiceProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "type": "string" } }, "401": { @@ -33785,63 +38050,29 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "ServiceProxyOptions", "version": "v1" } - }, - "get": { + } + }, + "/api/v1/namespaces/{namespace}/services/{name}/proxy/{path}": { + "delete": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ResourceQuota", - "operationId": "listCoreV1NamespacedResourceQuota", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "connect DELETE requests to proxy of Service", + "operationId": "connectCoreV1DeleteNamespacedServiceProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuotaList" + "type": "string" } }, "401": { @@ -33854,76 +38085,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "ServiceProxyOptions", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { + "get": { "consumes": [ "*/*" ], - "description": "create a ResourceQuota", - "operationId": "createCoreV1NamespacedResourceQuota", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "connect GET requests to proxy of Service", + "operationId": "connectCoreV1GetNamespacedServiceProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "type": "string" } }, "401": { @@ -33936,61 +38118,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "ServiceProxyOptions", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/resourcequotas/{name}": { - "delete": { + }, + "head": { "consumes": [ "*/*" ], - "description": "delete a ResourceQuota", - "operationId": "deleteCoreV1NamespacedResourceQuota", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "connect HEAD requests to proxy of Service", + "operationId": "connectCoreV1HeadNamespacedServiceProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "type": "string" } }, "401": { @@ -34003,29 +38151,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "ServiceProxyOptions", "version": "v1" } }, - "get": { + "options": { "consumes": [ "*/*" ], - "description": "read the specified ResourceQuota", - "operationId": "readCoreV1NamespacedResourceQuota", + "description": "connect OPTIONS requests to proxy of Service", + "operationId": "connectCoreV1OptionsNamespacedServiceProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "type": "string" } }, "401": { @@ -34038,16 +38184,16 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "ServiceProxyOptions", "version": "v1" } }, "parameters": [ { - "description": "name of the ResourceQuota", + "description": "name of the ServiceProxyOptions", "in": "path", "name": "name", "required": true, @@ -34058,59 +38204,26 @@ "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/pretty-tJGM1-ng" + "$ref": "#/parameters/path-z6Ciiujn" + }, + { + "$ref": "#/parameters/path-QCf0eosM" } ], "patch": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified ResourceQuota", - "operationId": "patchCoreV1NamespacedResourceQuota", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "connect PATCH requests to proxy of Service", + "operationId": "connectCoreV1PatchNamespacedServiceProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "type": "string" } }, "401": { @@ -34123,62 +38236,60 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "ServiceProxyOptions", "version": "v1" } }, - "put": { + "post": { "consumes": [ "*/*" ], - "description": "replace the specified ResourceQuota", - "operationId": "replaceCoreV1NamespacedResourceQuota", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, + "description": "connect POST requests to proxy of Service", + "operationId": "connectCoreV1PostNamespacedServiceProxyWithPath", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "type": "string" } }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "ServiceProxyOptions", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" ], + "description": "connect PUT requests to proxy of Service", + "operationId": "connectCoreV1PutNamespacedServiceProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "type": "string" } }, "401": { @@ -34191,21 +38302,21 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "ServiceProxyOptions", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/resourcequotas/{name}/status": { + "/api/v1/namespaces/{namespace}/services/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified ResourceQuota", - "operationId": "readCoreV1NamespacedResourceQuotaStatus", + "description": "read status of the specified Service", + "operationId": "readCoreV1NamespacedServiceStatus", "produces": [ "application/json", "application/yaml", @@ -34215,7 +38326,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "401": { @@ -34231,13 +38342,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "Service", "version": "v1" } }, "parameters": [ { - "description": "name of the ResourceQuota", + "description": "name of the Service", "in": "path", "name": "name", "required": true, @@ -34258,8 +38369,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified ResourceQuota", - "operationId": "patchCoreV1NamespacedResourceQuotaStatus", + "description": "partially update status of the specified Service", + "operationId": "patchCoreV1NamespacedServiceStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -34294,13 +38405,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "401": { @@ -34316,7 +38427,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "Service", "version": "v1" } }, @@ -34324,15 +38435,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified ResourceQuota", - "operationId": "replaceCoreV1NamespacedResourceQuotaStatus", + "description": "replace status of the specified Service", + "operationId": "replaceCoreV1NamespacedServiceStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, { @@ -34362,13 +38473,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuota" + "$ref": "#/definitions/io.k8s.api.core.v1.Service" } }, "401": { @@ -34384,25 +38495,22 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "Service", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/secrets": { + "/api/v1/namespaces/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of Secret", - "operationId": "deleteCoreV1CollectionNamespacedSecret", + "description": "delete a Namespace", + "operationId": "deleteCoreV1Namespace", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", "in": "query", @@ -34410,38 +38518,17 @@ "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, { "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, { "$ref": "#/parameters/orphanDependents-uRB25kX5" }, { "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" } ], "produces": [ @@ -34456,6 +38543,12 @@ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, "401": { "description": "Unauthorized" } @@ -34466,10 +38559,10 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Secret", + "kind": "Namespace", "version": "v1" } }, @@ -34477,52 +38570,18 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind Secret", - "operationId": "listCoreV1NamespacedSecret", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "read the specified Namespace", + "operationId": "readCoreV1Namespace", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.SecretList" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, "401": { @@ -34535,35 +38594,38 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Secret", + "kind": "Namespace", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/namespace-vgWSWtn3" + "description": "name of the Namespace", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "post": { + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" ], - "description": "create a Secret", - "operationId": "createCoreV1NamespacedSecret", + "description": "partially update the specified Namespace", + "operationId": "patchCoreV1Namespace", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Secret" - } + "$ref": "#/parameters/body-78PwaGsr" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -34573,7 +38635,7 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", @@ -34581,6 +38643,9 @@ "name": "fieldValidation", "type": "string", "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -34592,19 +38657,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Secret" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Secret" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Secret" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, "401": { @@ -34617,24 +38676,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Secret", + "kind": "Namespace", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/secrets/{name}": { - "delete": { + }, + "put": { "consumes": [ "*/*" ], - "description": "delete a Secret", - "operationId": "deleteCoreV1NamespacedSecret", + "description": "replace the specified Namespace", + "operationId": "replaceCoreV1Namespace", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + } }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -34644,16 +38706,97 @@ "uniqueItems": true }, { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + } }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + } }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Namespace", + "version": "v1" + } + } + }, + "/api/v1/namespaces/{name}/finalize": { + "parameters": [ + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "description": "name of the Namespace", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "put": { + "consumes": [ + "*/*" + ], + "description": "replace finalize of the specified Namespace", + "operationId": "replaceCoreV1NamespaceFinalize", + "parameters": [ { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + } } ], "produces": [ @@ -34665,13 +38808,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, - "202": { - "description": "Accepted", + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, "401": { @@ -34684,19 +38827,21 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Secret", + "kind": "Namespace", "version": "v1" } - }, + } + }, + "/api/v1/namespaces/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read the specified Secret", - "operationId": "readCoreV1NamespacedSecret", + "description": "read status of the specified Namespace", + "operationId": "readCoreV1NamespaceStatus", "produces": [ "application/json", "application/yaml", @@ -34706,7 +38851,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Secret" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, "401": { @@ -34722,22 +38867,19 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Secret", + "kind": "Namespace", "version": "v1" } }, "parameters": [ { - "description": "name of the Secret", + "description": "name of the Namespace", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -34749,8 +38891,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified Secret", - "operationId": "patchCoreV1NamespacedSecret", + "description": "partially update status of the specified Namespace", + "operationId": "patchCoreV1NamespaceStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -34785,13 +38927,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Secret" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Secret" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, "401": { @@ -34807,7 +38949,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Secret", + "kind": "Namespace", "version": "v1" } }, @@ -34815,15 +38957,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified Secret", - "operationId": "replaceCoreV1NamespacedSecret", + "description": "replace status of the specified Namespace", + "operationId": "replaceCoreV1NamespaceStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Secret" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, { @@ -34853,13 +38995,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Secret" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Secret" + "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" } }, "401": { @@ -34875,18 +39017,18 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Secret", + "kind": "Namespace", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/serviceaccounts": { + "/api/v1/nodes": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ServiceAccount", - "operationId": "deleteCoreV1CollectionNamespacedServiceAccount", + "description": "delete collection of Node", + "operationId": "deleteCoreV1CollectionNode", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -34960,7 +39102,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceAccount", + "kind": "Node", "version": "v1" } }, @@ -34968,8 +39110,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ServiceAccount", - "operationId": "listCoreV1NamespacedServiceAccount", + "description": "list or watch objects of kind Node", + "operationId": "listCoreV1Node", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -35013,7 +39155,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccountList" + "$ref": "#/definitions/io.k8s.api.core.v1.NodeList" } }, "401": { @@ -35029,14 +39171,11 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceAccount", + "kind": "Node", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -35045,15 +39184,15 @@ "consumes": [ "*/*" ], - "description": "create a ServiceAccount", - "operationId": "createCoreV1NamespacedServiceAccount", + "description": "create a Node", + "operationId": "createCoreV1Node", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, { @@ -35083,19 +39222,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "401": { @@ -35111,18 +39250,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceAccount", + "kind": "Node", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/serviceaccounts/{name}": { + "/api/v1/nodes/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ServiceAccount", - "operationId": "deleteCoreV1NamespacedServiceAccount", + "description": "delete a Node", + "operationId": "deleteCoreV1Node", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -35156,13 +39295,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -35178,7 +39317,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceAccount", + "kind": "Node", "version": "v1" } }, @@ -35186,8 +39325,8 @@ "consumes": [ "*/*" ], - "description": "read the specified ServiceAccount", - "operationId": "readCoreV1NamespacedServiceAccount", + "description": "read the specified Node", + "operationId": "readCoreV1Node", "produces": [ "application/json", "application/yaml", @@ -35197,7 +39336,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "401": { @@ -35213,22 +39352,19 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceAccount", + "kind": "Node", "version": "v1" } }, "parameters": [ { - "description": "name of the ServiceAccount", + "description": "name of the Node", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -35240,8 +39376,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ServiceAccount", - "operationId": "patchCoreV1NamespacedServiceAccount", + "description": "partially update the specified Node", + "operationId": "patchCoreV1Node", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -35276,13 +39412,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "401": { @@ -35298,7 +39434,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceAccount", + "kind": "Node", "version": "v1" } }, @@ -35306,15 +39442,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified ServiceAccount", - "operationId": "replaceCoreV1NamespacedServiceAccount", + "description": "replace the specified Node", + "operationId": "replaceCoreV1Node", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, { @@ -35344,13 +39480,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccount" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "401": { @@ -35366,32 +39502,147 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceAccount", + "kind": "Node", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/serviceaccounts/{name}/token": { - "parameters": [ - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true + "/api/v1/nodes/{name}/proxy": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "connect DELETE requests to proxy of Node", + "operationId": "connectCoreV1DeleteNodeProxy", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "NodeProxyOptions", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "connect GET requests to proxy of Node", + "operationId": "connectCoreV1GetNodeProxy", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "NodeProxyOptions", + "version": "v1" + } + }, + "head": { + "consumes": [ + "*/*" + ], + "description": "connect HEAD requests to proxy of Node", + "operationId": "connectCoreV1HeadNodeProxy", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "NodeProxyOptions", + "version": "v1" + } + }, + "options": { + "consumes": [ + "*/*" + ], + "description": "connect OPTIONS requests to proxy of Node", + "operationId": "connectCoreV1OptionsNodeProxy", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "401": { + "description": "Unauthorized" + } }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "NodeProxyOptions", + "version": "v1" + } + }, + "parameters": [ { - "description": "name of the TokenRequest", + "description": "name of the NodeProxyOptions", "in": "path", "name": "name", "required": true, @@ -35399,50 +39650,89 @@ "uniqueItems": true }, { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" + "$ref": "#/parameters/path-rFDtV0x9" } ], - "post": { + "patch": { "consumes": [ "*/*" ], - "description": "create token of a ServiceAccount", - "operationId": "createCoreV1NamespacedServiceAccountToken", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, + "description": "connect PATCH requests to proxy of Node", + "operationId": "connectCoreV1PatchNodeProxy", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenRequest" + "type": "string" } + }, + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "NodeProxyOptions", + "version": "v1" + } + }, + "post": { + "consumes": [ + "*/*" ], + "description": "connect POST requests to proxy of Node", + "operationId": "connectCoreV1PostNodeProxy", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenRequest" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenRequest" + "type": "string" } }, - "202": { - "description": "Accepted", + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "NodeProxyOptions", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "connect PUT requests to proxy of Node", + "operationId": "connectCoreV1PutNodeProxy", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenRequest" + "type": "string" } }, "401": { @@ -35455,79 +39745,95 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { - "group": "authentication.k8s.io", - "kind": "TokenRequest", + "group": "", + "kind": "NodeProxyOptions", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/services": { + "/api/v1/nodes/{name}/proxy/{path}": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of Service", - "operationId": "deleteCoreV1CollectionNamespacedService", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + "description": "connect DELETE requests to proxy of Node", + "operationId": "connectCoreV1DeleteNodeProxyWithPath", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "NodeProxyOptions", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "connect GET requests to proxy of Node", + "operationId": "connectCoreV1GetNodeProxyWithPath", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "NodeProxyOptions", + "version": "v1" + } + }, + "head": { + "consumes": [ + "*/*" ], + "description": "connect HEAD requests to proxy of Node", + "operationId": "connectCoreV1HeadNodeProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "type": "string" } }, "401": { @@ -35540,63 +39846,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Service", + "kind": "NodeProxyOptions", "version": "v1" } }, - "get": { + "options": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Service", - "operationId": "listCoreV1NamespacedService", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "connect OPTIONS requests to proxy of Node", + "operationId": "connectCoreV1OptionsNodeProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceList" + "type": "string" } }, "401": { @@ -35609,76 +39879,76 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Service", + "kind": "NodeProxyOptions", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/namespace-vgWSWtn3" + "description": "name of the NodeProxyOptions", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/pretty-tJGM1-ng" + "$ref": "#/parameters/path-z6Ciiujn" + }, + { + "$ref": "#/parameters/path-rFDtV0x9" } ], - "post": { + "patch": { "consumes": [ "*/*" ], - "description": "create a Service", - "operationId": "createCoreV1NamespacedService", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, + "description": "connect PATCH requests to proxy of Node", + "operationId": "connectCoreV1PatchNodeProxyWithPath", + "produces": [ + "*/*" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "type": "string" } }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "connect", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "NodeProxyOptions", + "version": "v1" + } + }, + "post": { + "consumes": [ + "*/*" ], + "description": "connect POST requests to proxy of Node", + "operationId": "connectCoreV1PostNodeProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "type": "string" } }, "401": { @@ -35691,61 +39961,27 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Service", + "kind": "NodeProxyOptions", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/services/{name}": { - "delete": { + }, + "put": { "consumes": [ "*/*" ], - "description": "delete a Service", - "operationId": "deleteCoreV1NamespacedService", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "connect PUT requests to proxy of Node", + "operationId": "connectCoreV1PutNodeProxyWithPath", "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "type": "string" } }, "401": { @@ -35758,19 +39994,21 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Service", + "kind": "NodeProxyOptions", "version": "v1" } - }, + } + }, + "/api/v1/nodes/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read the specified Service", - "operationId": "readCoreV1NamespacedService", + "description": "read status of the specified Node", + "operationId": "readCoreV1NodeStatus", "produces": [ "application/json", "application/yaml", @@ -35780,7 +40018,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "401": { @@ -35796,22 +40034,19 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Service", + "kind": "Node", "version": "v1" } }, "parameters": [ { - "description": "name of the Service", + "description": "name of the Node", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -35823,8 +40058,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified Service", - "operationId": "patchCoreV1NamespacedService", + "description": "partially update status of the specified Node", + "operationId": "patchCoreV1NodeStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -35859,13 +40094,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "401": { @@ -35881,7 +40116,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Service", + "kind": "Node", "version": "v1" } }, @@ -35889,15 +40124,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified Service", - "operationId": "replaceCoreV1NamespacedService", + "description": "replace status of the specified Node", + "operationId": "replaceCoreV1NodeStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, { @@ -35927,13 +40162,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.Node" } }, "401": { @@ -35949,59 +40184,30 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Service", + "kind": "Node", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/services/{name}/proxy": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "connect DELETE requests to proxy of Service", - "operationId": "connectCoreV1DeleteNamespacedServiceProxy", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "connect", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ServiceProxyOptions", - "version": "v1" - } - }, + "/api/v1/persistentvolumeclaims": { "get": { "consumes": [ "*/*" ], - "description": "connect GET requests to proxy of Service", - "operationId": "connectCoreV1GetNamespacedServiceProxy", + "description": "list or watch objects of kind PersistentVolumeClaim", + "operationId": "listCoreV1PersistentVolumeClaimForAllNamespaces", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimList" } }, "401": { @@ -36014,142 +40220,114 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceProxyOptions", + "kind": "PersistentVolumeClaim", "version": "v1" } }, - "head": { - "consumes": [ - "*/*" - ], - "description": "connect HEAD requests to proxy of Service", - "operationId": "connectCoreV1HeadNamespacedServiceProxy", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - } + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "connect", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ServiceProxyOptions", - "version": "v1" - } - }, - "options": { - "consumes": [ - "*/*" - ], - "description": "connect OPTIONS requests to proxy of Service", - "operationId": "connectCoreV1OptionsNamespacedServiceProxy", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - } + { + "$ref": "#/parameters/continue-QfD61s0i" }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "connect", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ServiceProxyOptions", - "version": "v1" - } - }, - "parameters": [ { - "description": "name of the ServiceProxyOptions", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, { - "$ref": "#/parameters/namespace-vgWSWtn3" + "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { - "$ref": "#/parameters/path-QCf0eosM" + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/api/v1/persistentvolumes": { + "delete": { "consumes": [ "*/*" ], - "description": "connect PATCH requests to proxy of Service", - "operationId": "connectCoreV1PatchNamespacedServiceProxy", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } + "description": "delete collection of PersistentVolume", + "operationId": "deleteCoreV1CollectionPersistentVolume", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" }, - "401": { - "description": "Unauthorized" + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" } - }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "connect", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ServiceProxyOptions", - "version": "v1" - } - }, - "post": { - "consumes": [ - "*/*" ], - "description": "connect POST requests to proxy of Service", - "operationId": "connectCoreV1PostNamespacedServiceProxy", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -36162,27 +40340,63 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceProxyOptions", + "kind": "PersistentVolume", "version": "v1" } }, - "put": { + "get": { "consumes": [ "*/*" ], - "description": "connect PUT requests to proxy of Service", - "operationId": "connectCoreV1PutNamespacedServiceProxy", + "description": "list or watch objects of kind PersistentVolume", + "operationId": "listCoreV1PersistentVolume", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeList" } }, "401": { @@ -36195,62 +40409,73 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceProxyOptions", + "kind": "PersistentVolume", "version": "v1" } - } - }, - "/api/v1/namespaces/{namespace}/services/{name}/proxy/{path}": { - "delete": { + }, + "parameters": [ + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { "consumes": [ "*/*" ], - "description": "connect DELETE requests to proxy of Service", - "operationId": "connectCoreV1DeleteNamespacedServiceProxyWithPath", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", + "description": "create a PersistentVolume", + "operationId": "createCoreV1PersistentVolume", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, - "401": { - "description": "Unauthorized" + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } - }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "connect", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ServiceProxyOptions", - "version": "v1" - } - }, - "get": { - "consumes": [ - "*/*" ], - "description": "connect GET requests to proxy of Service", - "operationId": "connectCoreV1GetNamespacedServiceProxyWithPath", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, "401": { @@ -36263,27 +40488,61 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceProxyOptions", + "kind": "PersistentVolume", "version": "v1" } - }, - "head": { + } + }, + "/api/v1/persistentvolumes/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "connect HEAD requests to proxy of Service", - "operationId": "connectCoreV1HeadNamespacedServiceProxyWithPath", + "description": "delete a PersistentVolume", + "operationId": "deleteCoreV1PersistentVolume", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, "401": { @@ -36296,27 +40555,29 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceProxyOptions", + "kind": "PersistentVolume", "version": "v1" } }, - "options": { + "get": { "consumes": [ "*/*" ], - "description": "connect OPTIONS requests to proxy of Service", - "operationId": "connectCoreV1OptionsNamespacedServiceProxyWithPath", + "description": "read the specified PersistentVolume", + "operationId": "readCoreV1PersistentVolume", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, "401": { @@ -36329,16 +40590,16 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceProxyOptions", + "kind": "PersistentVolume", "version": "v1" } }, "parameters": [ { - "description": "name of the ServiceProxyOptions", + "description": "name of the PersistentVolume", "in": "path", "name": "name", "required": true, @@ -36346,29 +40607,59 @@ "uniqueItems": true }, { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/path-z6Ciiujn" - }, - { - "$ref": "#/parameters/path-QCf0eosM" + "$ref": "#/parameters/pretty-tJGM1-ng" } ], "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified PersistentVolume", + "operationId": "patchCoreV1PersistentVolume", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "connect PATCH requests to proxy of Service", - "operationId": "connectCoreV1PatchNamespacedServiceProxyWithPath", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, "401": { @@ -36381,60 +40672,62 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceProxyOptions", + "kind": "PersistentVolume", "version": "v1" } }, - "post": { + "put": { "consumes": [ "*/*" ], - "description": "connect POST requests to proxy of Service", - "operationId": "connectCoreV1PostNamespacedServiceProxyWithPath", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", + "description": "replace the specified PersistentVolume", + "operationId": "replaceCoreV1PersistentVolume", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, - "401": { - "description": "Unauthorized" + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } - }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "connect", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ServiceProxyOptions", - "version": "v1" - } - }, - "put": { - "consumes": [ - "*/*" ], - "description": "connect PUT requests to proxy of Service", - "operationId": "connectCoreV1PutNamespacedServiceProxyWithPath", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, "401": { @@ -36447,21 +40740,21 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ServiceProxyOptions", + "kind": "PersistentVolume", "version": "v1" } } }, - "/api/v1/namespaces/{namespace}/services/{name}/status": { + "/api/v1/persistentvolumes/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified Service", - "operationId": "readCoreV1NamespacedServiceStatus", + "description": "read status of the specified PersistentVolume", + "operationId": "readCoreV1PersistentVolumeStatus", "produces": [ "application/json", "application/yaml", @@ -36471,7 +40764,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, "401": { @@ -36487,22 +40780,19 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Service", + "kind": "PersistentVolume", "version": "v1" } }, "parameters": [ { - "description": "name of the Service", + "description": "name of the PersistentVolume", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -36514,8 +40804,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified Service", - "operationId": "patchCoreV1NamespacedServiceStatus", + "description": "partially update status of the specified PersistentVolume", + "operationId": "patchCoreV1PersistentVolumeStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -36550,13 +40840,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, "401": { @@ -36572,7 +40862,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Service", + "kind": "PersistentVolume", "version": "v1" } }, @@ -36580,15 +40870,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified Service", - "operationId": "replaceCoreV1NamespacedServiceStatus", + "description": "replace status of the specified PersistentVolume", + "operationId": "replaceCoreV1PersistentVolumeStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, { @@ -36618,13 +40908,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Service" + "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" } }, "401": { @@ -36640,58 +40930,178 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Service", + "kind": "PersistentVolume", "version": "v1" } } }, - "/api/v1/namespaces/{name}": { - "delete": { + "/api/v1/pods": { + "get": { "consumes": [ "*/*" ], - "description": "delete a Namespace", - "operationId": "deleteCoreV1Namespace", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + "description": "list or watch objects of kind Pod", + "operationId": "listCoreV1PodForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PodList" + } }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Pod", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/podtemplates": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind PodTemplate", + "operationId": "listCoreV1PodTemplateForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplateList" + } }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "PodTemplate", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/replicationcontrollers": { + "get": { + "consumes": [ + "*/*" ], + "description": "list or watch objects of kind ReplicationController", + "operationId": "listCoreV1ReplicationControllerForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationControllerList" } }, "401": { @@ -36704,29 +41114,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Namespace", + "kind": "ReplicationController", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/resourcequotas": { "get": { "consumes": [ "*/*" ], - "description": "read the specified Namespace", - "operationId": "readCoreV1Namespace", + "description": "list or watch objects of kind ResourceQuota", + "operationId": "listCoreV1ResourceQuotaForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuotaList" } }, "401": { @@ -36739,76 +41188,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Namespace", + "kind": "ResourceQuota", "version": "v1" } }, "parameters": [ { - "description": "name of the Namespace", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/api/v1/secrets": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified Namespace", - "operationId": "patchCoreV1Namespace", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "list or watch objects of kind Secret", + "operationId": "listCoreV1SecretForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + "$ref": "#/definitions/io.k8s.api.core.v1.SecretList" } }, "401": { @@ -36821,62 +41262,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Namespace", + "kind": "Secret", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/serviceaccounts": { + "get": { "consumes": [ "*/*" ], - "description": "replace the specified Namespace", - "operationId": "replaceCoreV1Namespace", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "list or watch objects of kind ServiceAccount", + "operationId": "listCoreV1ServiceAccountForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccountList" } }, "401": { @@ -36889,77 +41336,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Namespace", + "kind": "ServiceAccount", "version": "v1" } - } - }, - "/api/v1/namespaces/{name}/finalize": { + }, "parameters": [ { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/continue-QfD61s0i" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, { - "description": "name of the Namespace", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "put": { + ] + }, + "/api/v1/services": { + "get": { "consumes": [ "*/*" ], - "description": "replace finalize of the specified Namespace", - "operationId": "replaceCoreV1NamespaceFinalize", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } - } - ], + "description": "list or watch objects of kind Service", + "operationId": "listCoreV1ServiceForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + "$ref": "#/definitions/io.k8s.api.core.v1.ServiceList" } }, "401": { @@ -36972,31 +41410,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Namespace", + "kind": "Service", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/api/v1/namespaces/{name}/status": { + "/api/v1/watch/configmaps": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified Namespace", - "operationId": "readCoreV1NamespaceStatus", + "description": "watch individual changes to a list of ConfigMap. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1ConfigMapListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37009,76 +41484,142 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Namespace", + "kind": "ConfigMap", "version": "v1" } }, "parameters": [ { - "description": "name of the Namespace", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/api/v1/watch/endpoints": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" + "*/*" ], - "description": "partially update status of the specified Namespace", - "operationId": "patchCoreV1NamespaceStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "description": "watch individual changes to a list of Endpoints. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1EndpointsListForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } }, - { - "$ref": "#/parameters/force-tOGGb0Yi" + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Endpoints", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/events": { + "get": { + "consumes": [ + "*/*" ], + "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1EventListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37091,62 +41632,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Namespace", + "kind": "Event", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/limitranges": { + "get": { "consumes": [ "*/*" ], - "description": "replace status of the specified Namespace", - "operationId": "replaceCoreV1NamespaceStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch individual changes to a list of LimitRange. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1LimitRangeListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Namespace" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37159,79 +41706,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Namespace", + "kind": "LimitRange", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/api/v1/nodes": { - "delete": { + "/api/v1/watch/namespaces": { + "get": { "consumes": [ "*/*" ], - "description": "delete collection of Node", - "operationId": "deleteCoreV1CollectionNode", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], + "description": "watch individual changes to a list of Namespace. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespaceList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37244,51 +41780,56 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Node", + "kind": "Namespace", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/configmaps": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Node", - "operationId": "listCoreV1Node", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "watch individual changes to a list of ConfigMap. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedConfigMapList", "produces": [ "application/json", "application/yaml", @@ -37300,7 +41841,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.NodeList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37313,73 +41854,71 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Node", + "kind": "ConfigMap", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "post": { + ] + }, + "/api/v1/watch/namespaces/{namespace}/configmaps/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "create a Node", - "operationId": "createCoreV1Node", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch changes to an object of kind ConfigMap. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedConfigMap", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37392,96 +41931,156 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Node", + "kind": "ConfigMap", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the ConfigMap", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/api/v1/nodes/{name}": { - "delete": { + "/api/v1/watch/namespaces/{namespace}/endpoints": { + "get": { "consumes": [ "*/*" ], - "description": "delete a Node", - "operationId": "deleteCoreV1Node", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "watch individual changes to a list of Endpoints. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedEndpointsList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { "description": "Unauthorized" } }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "delete", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Node", - "version": "v1" + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Endpoints", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - }, + ] + }, + "/api/v1/watch/namespaces/{namespace}/endpoints/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read the specified Node", - "operationId": "readCoreV1Node", + "description": "watch changes to an object of kind Endpoints. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedEndpoints", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37494,76 +42093,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Node", + "kind": "Endpoints", "version": "v1" } }, "parameters": [ { - "description": "name of the Node", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Endpoints", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/api/v1/watch/namespaces/{namespace}/events": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified Node", - "operationId": "patchCoreV1Node", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedEventList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37576,62 +42178,71 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Node", + "kind": "Event", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/events/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "replace the specified Node", - "operationId": "replaceCoreV1Node", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch changes to an object of kind Event. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedEvent", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37644,29 +42255,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Node", + "kind": "Event", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Event", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/api/v1/nodes/{name}/proxy": { - "delete": { + "/api/v1/watch/namespaces/{namespace}/limitranges": { + "get": { "consumes": [ "*/*" ], - "description": "connect DELETE requests to proxy of Node", - "operationId": "connectCoreV1DeleteNodeProxy", + "description": "watch individual changes to a list of LimitRange. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedLimitRangeList", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37679,27 +42340,71 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "LimitRange", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/limitranges/{name}": { "get": { "consumes": [ "*/*" ], - "description": "connect GET requests to proxy of Node", - "operationId": "connectCoreV1GetNodeProxy", + "description": "watch changes to an object of kind LimitRange. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedLimitRange", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37712,27 +42417,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "LimitRange", "version": "v1" } }, - "head": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the LimitRange", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/persistentvolumeclaims": { + "get": { "consumes": [ "*/*" ], - "description": "connect HEAD requests to proxy of Node", - "operationId": "connectCoreV1HeadNodeProxy", + "description": "watch individual changes to a list of PersistentVolumeClaim. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedPersistentVolumeClaimList", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37745,27 +42502,71 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "PersistentVolumeClaim", "version": "v1" } }, - "options": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/persistentvolumeclaims/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "connect OPTIONS requests to proxy of Node", - "operationId": "connectCoreV1OptionsNodeProxy", + "description": "watch changes to an object of kind PersistentVolumeClaim. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedPersistentVolumeClaim", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37778,16 +42579,31 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "PersistentVolumeClaim", "version": "v1" } }, "parameters": [ { - "description": "name of the NodeProxyOptions", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the PersistentVolumeClaim", "in": "path", "name": "name", "required": true, @@ -37795,23 +42611,47 @@ "uniqueItems": true }, { - "$ref": "#/parameters/path-rFDtV0x9" - } - ], - "patch": { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/pods": { + "get": { "consumes": [ "*/*" ], - "description": "connect PATCH requests to proxy of Node", - "operationId": "connectCoreV1PatchNodeProxy", + "description": "watch individual changes to a list of Pod. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedPodList", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37824,27 +42664,71 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "Pod", "version": "v1" } }, - "post": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/pods/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "connect POST requests to proxy of Node", - "operationId": "connectCoreV1PostNodeProxy", + "description": "watch changes to an object of kind Pod. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedPod", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37857,62 +42741,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "Pod", "version": "v1" } }, - "put": { - "consumes": [ - "*/*" - ], - "description": "connect PUT requests to proxy of Node", - "operationId": "connectCoreV1PutNodeProxy", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - } + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "connect", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "NodeProxyOptions", - "version": "v1" + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Pod", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - } + ] }, - "/api/v1/nodes/{name}/proxy/{path}": { - "delete": { + "/api/v1/watch/namespaces/{namespace}/podtemplates": { + "get": { "consumes": [ "*/*" ], - "description": "connect DELETE requests to proxy of Node", - "operationId": "connectCoreV1DeleteNodeProxyWithPath", + "description": "watch individual changes to a list of PodTemplate. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedPodTemplateList", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37925,27 +42826,71 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "PodTemplate", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/podtemplates/{name}": { "get": { "consumes": [ "*/*" ], - "description": "connect GET requests to proxy of Node", - "operationId": "connectCoreV1GetNodeProxyWithPath", + "description": "watch changes to an object of kind PodTemplate. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedPodTemplate", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37958,27 +42903,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "PodTemplate", "version": "v1" } }, - "head": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the PodTemplate", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/replicationcontrollers": { + "get": { "consumes": [ "*/*" ], - "description": "connect HEAD requests to proxy of Node", - "operationId": "connectCoreV1HeadNodeProxyWithPath", + "description": "watch individual changes to a list of ReplicationController. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedReplicationControllerList", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -37991,27 +42988,71 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "ReplicationController", "version": "v1" } }, - "options": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/replicationcontrollers/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "connect OPTIONS requests to proxy of Node", - "operationId": "connectCoreV1OptionsNodeProxyWithPath", + "description": "watch changes to an object of kind ReplicationController. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedReplicationController", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38024,16 +43065,31 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "ReplicationController", "version": "v1" } }, "parameters": [ { - "description": "name of the NodeProxyOptions", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the ReplicationController", "in": "path", "name": "name", "required": true, @@ -38041,26 +43097,47 @@ "uniqueItems": true }, { - "$ref": "#/parameters/path-z6Ciiujn" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/path-rFDtV0x9" + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/api/v1/watch/namespaces/{namespace}/resourcequotas": { + "get": { "consumes": [ "*/*" ], - "description": "connect PATCH requests to proxy of Node", - "operationId": "connectCoreV1PatchNodeProxyWithPath", + "description": "watch individual changes to a list of ResourceQuota. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedResourceQuotaList", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38073,27 +43150,71 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "ResourceQuota", "version": "v1" } }, - "post": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/resourcequotas/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "connect POST requests to proxy of Node", - "operationId": "connectCoreV1PostNodeProxyWithPath", + "description": "watch changes to an object of kind ResourceQuota. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedResourceQuota", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38106,27 +43227,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "ResourceQuota", "version": "v1" } - }, - "put": { + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the ResourceQuota", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/secrets": { + "get": { "consumes": [ "*/*" ], - "description": "connect PUT requests to proxy of Node", - "operationId": "connectCoreV1PutNodeProxyWithPath", + "description": "watch individual changes to a list of Secret. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedSecretList", "produces": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38139,31 +43312,71 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "connect", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "NodeProxyOptions", + "kind": "Secret", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/api/v1/nodes/{name}/status": { + "/api/v1/watch/namespaces/{namespace}/secrets/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified Node", - "operationId": "readCoreV1NodeStatus", + "description": "watch changes to an object of kind Secret. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedSecret", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38176,76 +43389,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Node", + "kind": "Secret", "version": "v1" } }, "parameters": [ { - "description": "name of the Node", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Secret", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/api/v1/watch/namespaces/{namespace}/serviceaccounts": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified Node", - "operationId": "patchCoreV1NodeStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of ServiceAccount. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedServiceAccountList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38258,89 +43474,59 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Node", + "kind": "ServiceAccount", "version": "v1" } }, - "put": { - "consumes": [ - "*/*" - ], - "description": "replace status of the specified Node", - "operationId": "replaceCoreV1NodeStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.Node" - } - }, - "401": { - "description": "Unauthorized" - } + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, - "schemes": [ - "https" - ], - "tags": [ - "core_v1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Node", - "version": "v1" + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - } + ] }, - "/api/v1/persistentvolumeclaims": { + "/api/v1/watch/namespaces/{namespace}/serviceaccounts/{name}": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind PersistentVolumeClaim", - "operationId": "listCoreV1PersistentVolumeClaimForAllNamespaces", + "description": "watch changes to an object of kind ServiceAccount. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedServiceAccount", "produces": [ "application/json", "application/yaml", @@ -38352,7 +43538,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38365,10 +43551,10 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolumeClaim", + "kind": "ServiceAccount", "version": "v1" } }, @@ -38388,6 +43574,17 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the ServiceAccount", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -38408,71 +43605,25 @@ } ] }, - "/api/v1/persistentvolumes": { - "delete": { + "/api/v1/watch/namespaces/{namespace}/services": { + "get": { "consumes": [ "*/*" ], - "description": "delete collection of PersistentVolume", - "operationId": "deleteCoreV1CollectionPersistentVolume", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], + "description": "watch individual changes to a list of Service. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NamespacedServiceList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38485,51 +43636,59 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolume", + "kind": "Service", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{namespace}/services/{name}": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind PersistentVolume", - "operationId": "listCoreV1PersistentVolume", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "watch changes to an object of kind Service. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1NamespacedService", "produces": [ "application/json", "application/yaml", @@ -38541,7 +43700,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38554,73 +43713,79 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolume", + "kind": "Service", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Service", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { - "consumes": [ - "*/*" - ], - "description": "create a PersistentVolume", - "operationId": "createCoreV1PersistentVolume", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/namespaces/{name}": { + "get": { + "consumes": [ + "*/*" ], + "description": "watch changes to an object of kind Namespace. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1Namespace", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38633,61 +43798,76 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolume", + "kind": "Namespace", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Namespace", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/api/v1/persistentvolumes/{name}": { - "delete": { + "/api/v1/watch/nodes": { + "get": { "consumes": [ "*/*" ], - "description": "delete a PersistentVolume", - "operationId": "deleteCoreV1PersistentVolume", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "watch individual changes to a list of Node. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1NodeList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38700,29 +43880,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolume", + "kind": "Node", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/nodes/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read the specified PersistentVolume", - "operationId": "readCoreV1PersistentVolume", + "description": "watch changes to an object of kind Node. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1Node", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38735,16 +43954,31 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolume", + "kind": "Node", "version": "v1" } }, "parameters": [ { - "description": "name of the PersistentVolume", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Node", "in": "path", "name": "name", "required": true, @@ -38753,58 +43987,43 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/api/v1/watch/persistentvolumeclaims": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified PersistentVolume", - "operationId": "patchCoreV1PersistentVolume", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of PersistentVolumeClaim. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1PersistentVolumeClaimListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38817,62 +44036,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolume", + "kind": "PersistentVolumeClaim", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/persistentvolumes": { + "get": { "consumes": [ "*/*" ], - "description": "replace the specified PersistentVolume", - "operationId": "replaceCoreV1PersistentVolume", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch individual changes to a list of PersistentVolume. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1PersistentVolumeList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38885,31 +44110,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", "kind": "PersistentVolume", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/api/v1/persistentvolumes/{name}/status": { + "/api/v1/watch/persistentvolumes/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified PersistentVolume", - "operationId": "readCoreV1PersistentVolumeStatus", + "description": "watch changes to an object of kind PersistentVolume. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoreV1PersistentVolume", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -38922,7 +44184,7 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "", "kind": "PersistentVolume", @@ -38930,6 +44192,21 @@ } }, "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, { "description": "name of the PersistentVolume", "in": "path", @@ -38940,58 +44217,117 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/api/v1/watch/pods": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of Pod. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1PodListForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "core_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "", + "kind": "Pod", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/podtemplates": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified PersistentVolume", - "operationId": "patchCoreV1PersistentVolumeStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of PodTemplate. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1PodTemplateListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -39004,62 +44340,68 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolume", + "kind": "PodTemplate", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/api/v1/watch/replicationcontrollers": { + "get": { "consumes": [ "*/*" ], - "description": "replace status of the specified PersistentVolume", - "operationId": "replaceCoreV1PersistentVolumeStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch individual changes to a list of ReplicationController. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1ReplicationControllerListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolume" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -39072,21 +44414,56 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PersistentVolume", + "kind": "ReplicationController", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/api/v1/pods": { + "/api/v1/watch/resourcequotas": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Pod", - "operationId": "listCoreV1PodForAllNamespaces", + "description": "watch individual changes to a list of ResourceQuota. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1ResourceQuotaListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -39098,7 +44475,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -39111,10 +44488,10 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "Pod", + "kind": "ResourceQuota", "version": "v1" } }, @@ -39154,13 +44531,13 @@ } ] }, - "/api/v1/podtemplates": { + "/api/v1/watch/secrets": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind PodTemplate", - "operationId": "listCoreV1PodTemplateForAllNamespaces", + "description": "watch individual changes to a list of Secret. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1SecretListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -39172,7 +44549,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.PodTemplateList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -39185,10 +44562,10 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "PodTemplate", + "kind": "Secret", "version": "v1" } }, @@ -39228,13 +44605,13 @@ } ] }, - "/api/v1/replicationcontrollers": { + "/api/v1/watch/serviceaccounts": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ReplicationController", - "operationId": "listCoreV1ReplicationControllerForAllNamespaces", + "description": "watch individual changes to a list of ServiceAccount. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1ServiceAccountListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -39246,7 +44623,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ReplicationControllerList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -39259,10 +44636,10 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ReplicationController", + "kind": "ServiceAccount", "version": "v1" } }, @@ -39302,13 +44679,13 @@ } ] }, - "/api/v1/resourcequotas": { + "/api/v1/watch/services": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ResourceQuota", - "operationId": "listCoreV1ResourceQuotaForAllNamespaces", + "description": "watch individual changes to a list of Service. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoreV1ServiceListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -39320,7 +44697,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ResourceQuotaList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -39333,10 +44710,10 @@ "tags": [ "core_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "", - "kind": "ResourceQuota", + "kind": "Service", "version": "v1" } }, @@ -39376,25 +44753,318 @@ } ] }, - "/api/v1/secrets": { + "/apis/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available API versions", + "operationId": "getAPIVersions", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apis" + ] + } + }, + "/apis/admissionregistration.k8s.io/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get information of a group", + "operationId": "getAdmissionregistrationAPIGroup", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "admissionregistration" + ] + } + }, + "/apis/admissionregistration.k8s.io/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getAdmissionregistrationV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "admissionregistration_v1" + ] + } + }, + "/apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete collection of MutatingWebhookConfiguration", + "operationId": "deleteAdmissionregistrationV1CollectionMutatingWebhookConfiguration", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "admissionregistration_v1" + ], + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "admissionregistration.k8s.io", + "kind": "MutatingWebhookConfiguration", + "version": "v1" + } + }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Secret", - "operationId": "listCoreV1SecretForAllNamespaces", + "description": "list or watch objects of kind MutatingWebhookConfiguration", + "operationId": "listAdmissionregistrationV1MutatingWebhookConfiguration", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfigurationList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "admissionregistration_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "admissionregistration.k8s.io", + "kind": "MutatingWebhookConfiguration", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a MutatingWebhookConfiguration", + "operationId": "createAdmissionregistrationV1MutatingWebhookConfiguration", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.SecretList" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" } }, "401": { @@ -39405,70 +45075,63 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Secret", + "group": "admissionregistration.k8s.io", + "kind": "MutatingWebhookConfiguration", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/api/v1/serviceaccounts": { - "get": { + "/apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ServiceAccount", - "operationId": "listCoreV1ServiceAccountForAllNamespaces", + "description": "delete a MutatingWebhookConfiguration", + "operationId": "deleteAdmissionregistrationV1MutatingWebhookConfiguration", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccountList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -39479,70 +45142,31 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ServiceAccount", + "group": "admissionregistration.k8s.io", + "kind": "MutatingWebhookConfiguration", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/services": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Service", - "operationId": "listCoreV1ServiceForAllNamespaces", + "description": "read the specified MutatingWebhookConfiguration", + "operationId": "readAdmissionregistrationV1MutatingWebhookConfiguration", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.core.v1.ServiceList" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" } }, "401": { @@ -39553,70 +45177,78 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Service", + "group": "admissionregistration.k8s.io", + "kind": "MutatingWebhookConfiguration", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "description": "name of the MutatingWebhookConfiguration", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/watch/configmaps": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified MutatingWebhookConfiguration", + "operationId": "patchAdmissionregistrationV1MutatingWebhookConfiguration", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch individual changes to a list of ConfigMap. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1ConfigMapListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" } }, "401": { @@ -39627,70 +45259,64 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ConfigMap", + "group": "admissionregistration.k8s.io", + "kind": "MutatingWebhookConfiguration", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/endpoints": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Endpoints. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1EndpointsListForAllNamespaces", + "description": "replace the specified MutatingWebhookConfiguration", + "operationId": "replaceAdmissionregistrationV1MutatingWebhookConfiguration", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" } }, "401": { @@ -39701,70 +45327,81 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Endpoints", + "group": "admissionregistration.k8s.io", + "kind": "MutatingWebhookConfiguration", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/api/v1/watch/events": { - "get": { + "/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies": { + "delete": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1EventListForAllNamespaces", + "description": "delete collection of ValidatingAdmissionPolicy", + "operationId": "deleteAdmissionregistrationV1CollectionValidatingAdmissionPolicy", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -39775,58 +45412,53 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Event", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/limitranges": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of LimitRange. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1LimitRangeListForAllNamespaces", + "description": "list or watch objects of kind ValidatingAdmissionPolicy", + "operationId": "listAdmissionregistrationV1ValidatingAdmissionPolicy", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", @@ -39838,7 +45470,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyList" } }, "401": { @@ -39849,70 +45481,75 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "LimitRange", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/watch/namespaces": { - "get": { + ], + "post": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Namespace. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespaceList", + "description": "create a ValidatingAdmissionPolicy", + "operationId": "createAdmissionregistrationV1ValidatingAdmissionPolicy", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" } }, "401": { @@ -39923,70 +45560,63 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Namespace", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/api/v1/watch/namespaces/{namespace}/configmaps": { - "get": { + "/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ConfigMap. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedConfigMapList", + "description": "delete a ValidatingAdmissionPolicy", + "operationId": "deleteAdmissionregistrationV1ValidatingAdmissionPolicy", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -39997,73 +45627,31 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ConfigMap", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/namespaces/{namespace}/configmaps/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ConfigMap. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedConfigMap", + "description": "read the specified ValidatingAdmissionPolicy", + "operationId": "readAdmissionregistrationV1ValidatingAdmissionPolicy", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" } }, "401": { @@ -40074,81 +45662,78 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ConfigMap", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ConfigMap", + "description": "name of the ValidatingAdmissionPolicy", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/watch/namespaces/{namespace}/endpoints": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified ValidatingAdmissionPolicy", + "operationId": "patchAdmissionregistrationV1ValidatingAdmissionPolicy", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch individual changes to a list of Endpoints. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedEndpointsList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" } }, "401": { @@ -40159,73 +45744,64 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Endpoints", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/namespaces/{namespace}/endpoints/{name}": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind Endpoints. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedEndpoints", + "description": "replace the specified ValidatingAdmissionPolicy", + "operationId": "replaceAdmissionregistrationV1ValidatingAdmissionPolicy", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" } }, "401": { @@ -40236,81 +45812,33 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Endpoints", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the Endpoints", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/api/v1/watch/namespaces/{namespace}/events": { + "/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedEventList", + "description": "read status of the specified ValidatingAdmissionPolicy", + "operationId": "readAdmissionregistrationV1ValidatingAdmissionPolicyStatus", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" } }, "401": { @@ -40321,73 +45849,78 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Event", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" + "description": "name of the ValidatingAdmissionPolicy", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/watch/namespaces/{namespace}/events/{name}": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified ValidatingAdmissionPolicy", + "operationId": "patchAdmissionregistrationV1ValidatingAdmissionPolicyStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch changes to an object of kind Event. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedEvent", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" } }, "401": { @@ -40398,81 +45931,64 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Event", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the Event", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/namespaces/{namespace}/limitranges": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of LimitRange. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedLimitRangeList", + "description": "replace status of the specified ValidatingAdmissionPolicy", + "operationId": "replaceAdmissionregistrationV1ValidatingAdmissionPolicyStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" } }, "401": { @@ -40483,73 +45999,81 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "LimitRange", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/api/v1/watch/namespaces/{namespace}/limitranges/{name}": { - "get": { + "/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings": { + "delete": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind LimitRange. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedLimitRange", + "description": "delete collection of ValidatingAdmissionPolicyBinding", + "operationId": "deleteAdmissionregistrationV1CollectionValidatingAdmissionPolicyBinding", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -40560,69 +46084,53 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "LimitRange", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicyBinding", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the LimitRange", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/namespaces/{namespace}/persistentvolumeclaims": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of PersistentVolumeClaim. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedPersistentVolumeClaimList", + "description": "list or watch objects of kind ValidatingAdmissionPolicyBinding", + "operationId": "listAdmissionregistrationV1ValidatingAdmissionPolicyBinding", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", @@ -40634,7 +46142,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBindingList" } }, "401": { @@ -40645,73 +46153,142 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PersistentVolumeClaim", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicyBinding", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a ValidatingAdmissionPolicyBinding", + "operationId": "createAdmissionregistrationV1ValidatingAdmissionPolicyBinding", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "schemes": [ + "https" + ], + "tags": [ + "admissionregistration_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicyBinding", + "version": "v1" } - ] + } }, - "/api/v1/watch/namespaces/{namespace}/persistentvolumeclaims/{name}": { - "get": { + "/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind PersistentVolumeClaim. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedPersistentVolumeClaim", + "description": "delete a ValidatingAdmissionPolicyBinding", + "operationId": "deleteAdmissionregistrationV1ValidatingAdmissionPolicyBinding", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -40722,81 +46299,31 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PersistentVolumeClaim", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicyBinding", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the PersistentVolumeClaim", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/namespaces/{namespace}/pods": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Pod. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedPodList", + "description": "read the specified ValidatingAdmissionPolicyBinding", + "operationId": "readAdmissionregistrationV1ValidatingAdmissionPolicyBinding", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" } }, "401": { @@ -40807,73 +46334,78 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Pod", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicyBinding", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" + "description": "name of the ValidatingAdmissionPolicyBinding", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/watch/namespaces/{namespace}/pods/{name}": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified ValidatingAdmissionPolicyBinding", + "operationId": "patchAdmissionregistrationV1ValidatingAdmissionPolicyBinding", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch changes to an object of kind Pod. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedPod", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" } }, "401": { @@ -40884,81 +46416,64 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Pod", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicyBinding", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the Pod", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/namespaces/{namespace}/podtemplates": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of PodTemplate. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedPodTemplateList", + "description": "replace the specified ValidatingAdmissionPolicyBinding", + "operationId": "replaceAdmissionregistrationV1ValidatingAdmissionPolicyBinding", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" } }, "401": { @@ -40969,73 +46484,81 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PodTemplate", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicyBinding", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/api/v1/watch/namespaces/{namespace}/podtemplates/{name}": { - "get": { + "/apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations": { + "delete": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind PodTemplate. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedPodTemplate", + "description": "delete collection of ValidatingWebhookConfiguration", + "operationId": "deleteAdmissionregistrationV1CollectionValidatingWebhookConfiguration", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -41046,69 +46569,53 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PodTemplate", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingWebhookConfiguration", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the PodTemplate", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/namespaces/{namespace}/replicationcontrollers": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ReplicationController. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedReplicationControllerList", + "description": "list or watch objects of kind ValidatingWebhookConfiguration", + "operationId": "listAdmissionregistrationV1ValidatingWebhookConfiguration", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", @@ -41120,7 +46627,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfigurationList" } }, "401": { @@ -41131,73 +46638,75 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ReplicationController", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingWebhookConfiguration", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/watch/namespaces/{namespace}/replicationcontrollers/{name}": { - "get": { + ], + "post": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ReplicationController. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedReplicationController", + "description": "create a ValidatingWebhookConfiguration", + "operationId": "createAdmissionregistrationV1ValidatingWebhookConfiguration", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" } }, "401": { @@ -41208,81 +46717,63 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ReplicationController", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingWebhookConfiguration", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ReplicationController", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/api/v1/watch/namespaces/{namespace}/resourcequotas": { - "get": { + "/apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ResourceQuota. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedResourceQuotaList", + "description": "delete a ValidatingWebhookConfiguration", + "operationId": "deleteAdmissionregistrationV1ValidatingWebhookConfiguration", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -41293,73 +46784,31 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ResourceQuota", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingWebhookConfiguration", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/namespaces/{namespace}/resourcequotas/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ResourceQuota. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedResourceQuota", + "description": "read the specified ValidatingWebhookConfiguration", + "operationId": "readAdmissionregistrationV1ValidatingWebhookConfiguration", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" } }, "401": { @@ -41370,81 +46819,78 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ResourceQuota", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingWebhookConfiguration", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ResourceQuota", + "description": "name of the ValidatingWebhookConfiguration", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/watch/namespaces/{namespace}/secrets": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified ValidatingWebhookConfiguration", + "operationId": "patchAdmissionregistrationV1ValidatingWebhookConfiguration", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch individual changes to a list of Secret. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedSecretList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" } }, "401": { @@ -41455,73 +46901,64 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Secret", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingWebhookConfiguration", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/namespaces/{namespace}/secrets/{name}": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind Secret. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedSecret", + "description": "replace the specified ValidatingWebhookConfiguration", + "operationId": "replaceAdmissionregistrationV1ValidatingWebhookConfiguration", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" } }, "401": { @@ -41532,69 +46969,23 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Secret", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the Secret", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "group": "admissionregistration.k8s.io", + "kind": "ValidatingWebhookConfiguration", + "version": "v1" } - ] + } }, - "/api/v1/watch/namespaces/{namespace}/serviceaccounts": { + "/apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ServiceAccount. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedServiceAccountList", + "description": "watch individual changes to a list of MutatingWebhookConfiguration. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAdmissionregistrationV1MutatingWebhookConfigurationList", "produces": [ "application/json", "application/yaml", @@ -41617,12 +47008,12 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ServiceAccount", + "group": "admissionregistration.k8s.io", + "kind": "MutatingWebhookConfiguration", "version": "v1" } }, @@ -41642,9 +47033,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -41665,13 +47053,13 @@ } ] }, - "/api/v1/watch/namespaces/{namespace}/serviceaccounts/{name}": { + "/apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ServiceAccount. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedServiceAccount", + "description": "watch changes to an object of kind MutatingWebhookConfiguration. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAdmissionregistrationV1MutatingWebhookConfiguration", "produces": [ "application/json", "application/yaml", @@ -41694,12 +47082,12 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ServiceAccount", + "group": "admissionregistration.k8s.io", + "kind": "MutatingWebhookConfiguration", "version": "v1" } }, @@ -41720,16 +47108,13 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the ServiceAccount", + "description": "name of the MutatingWebhookConfiguration", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -41750,13 +47135,13 @@ } ] }, - "/api/v1/watch/namespaces/{namespace}/services": { + "/apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicies": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Service. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NamespacedServiceList", + "description": "watch individual changes to a list of ValidatingAdmissionPolicy. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAdmissionregistrationV1ValidatingAdmissionPolicyList", "produces": [ "application/json", "application/yaml", @@ -41779,12 +47164,12 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Service", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } }, @@ -41804,9 +47189,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -41827,13 +47209,13 @@ } ] }, - "/api/v1/watch/namespaces/{namespace}/services/{name}": { + "/apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicies/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind Service. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1NamespacedService", + "description": "watch changes to an object of kind ValidatingAdmissionPolicy. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAdmissionregistrationV1ValidatingAdmissionPolicy", "produces": [ "application/json", "application/yaml", @@ -41856,12 +47238,12 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Service", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicy", "version": "v1" } }, @@ -41882,16 +47264,13 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the Service", + "description": "name of the ValidatingAdmissionPolicy", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -41912,13 +47291,13 @@ } ] }, - "/api/v1/watch/namespaces/{name}": { + "/apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicybindings": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind Namespace. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1Namespace", + "description": "watch individual changes to a list of ValidatingAdmissionPolicyBinding. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAdmissionregistrationV1ValidatingAdmissionPolicyBindingList", "produces": [ "application/json", "application/yaml", @@ -41941,12 +47320,12 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Namespace", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicyBinding", "version": "v1" } }, @@ -41966,14 +47345,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "description": "name of the Namespace", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -41994,13 +47365,13 @@ } ] }, - "/api/v1/watch/nodes": { + "/apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicybindings/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Node. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1NodeList", + "description": "watch changes to an object of kind ValidatingAdmissionPolicyBinding. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAdmissionregistrationV1ValidatingAdmissionPolicyBinding", "produces": [ "application/json", "application/yaml", @@ -42023,12 +47394,12 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Node", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingAdmissionPolicyBinding", "version": "v1" } }, @@ -42048,6 +47419,14 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the ValidatingAdmissionPolicyBinding", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -42068,13 +47447,13 @@ } ] }, - "/api/v1/watch/nodes/{name}": { + "/apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind Node. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1Node", + "description": "watch individual changes to a list of ValidatingWebhookConfiguration. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAdmissionregistrationV1ValidatingWebhookConfigurationList", "produces": [ "application/json", "application/yaml", @@ -42097,12 +47476,12 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Node", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingWebhookConfiguration", "version": "v1" } }, @@ -42122,14 +47501,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "description": "name of the Node", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -42150,13 +47521,13 @@ } ] }, - "/api/v1/watch/persistentvolumeclaims": { + "/apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of PersistentVolumeClaim. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1PersistentVolumeClaimListForAllNamespaces", + "description": "watch changes to an object of kind ValidatingWebhookConfiguration. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAdmissionregistrationV1ValidatingWebhookConfiguration", "produces": [ "application/json", "application/yaml", @@ -42179,12 +47550,12 @@ "https" ], "tags": [ - "core_v1" + "admissionregistration_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PersistentVolumeClaim", + "group": "admissionregistration.k8s.io", + "kind": "ValidatingWebhookConfiguration", "version": "v1" } }, @@ -42204,6 +47575,14 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the ValidatingWebhookConfiguration", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -42224,13 +47603,194 @@ } ] }, - "/api/v1/watch/persistentvolumes": { + "/apis/apiextensions.k8s.io/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get information of a group", + "operationId": "getApiextensionsAPIGroup", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apiextensions" + ] + } + }, + "/apis/apiextensions.k8s.io/v1/": { "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getApiextensionsV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apiextensions_v1" + ] + } + }, + "/apis/apiextensions.k8s.io/v1/customresourcedefinitions": { + "delete": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of PersistentVolume. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1PersistentVolumeList", + "description": "delete collection of CustomResourceDefinition", + "operationId": "deleteApiextensionsV1CollectionCustomResourceDefinition", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apiextensions_v1" + ], + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind CustomResourceDefinition", + "operationId": "listApiextensionsV1CustomResourceDefinition", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", @@ -42242,7 +47802,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionList" } }, "401": { @@ -42253,70 +47813,177 @@ "https" ], "tags": [ - "core_v1" + "apiextensions_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PersistentVolume", + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a CustomResourceDefinition", + "operationId": "createApiextensionsV1CustomResourceDefinition", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "schemes": [ + "https" + ], + "tags": [ + "apiextensions_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", + "version": "v1" + } + } + }, + "/apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete a CustomResourceDefinition", + "operationId": "deleteApiextensionsV1CustomResourceDefinition", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "schemes": [ + "https" + ], + "tags": [ + "apiextensions_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", + "version": "v1" } - ] - }, - "/api/v1/watch/persistentvolumes/{name}": { + }, "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind PersistentVolume. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoreV1PersistentVolume", + "description": "read the specified CustomResourceDefinition", + "operationId": "readApiextensionsV1CustomResourceDefinition", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" } }, "401": { @@ -42327,33 +47994,18 @@ "https" ], "tags": [ - "core_v1" + "apiextensions_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PersistentVolume", + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the PersistentVolume", + "description": "name of the CustomResourceDefinition", "in": "path", "name": "name", "required": true, @@ -42362,43 +48014,58 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/watch/pods": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified CustomResourceDefinition", + "operationId": "patchApiextensionsV1CustomResourceDefinition", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch individual changes to a list of Pod. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1PodListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" } }, "401": { @@ -42409,70 +48076,64 @@ "https" ], "tags": [ - "core_v1" + "apiextensions_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Pod", + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/podtemplates": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of PodTemplate. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1PodTemplateListForAllNamespaces", + "description": "replace the specified CustomResourceDefinition", + "operationId": "replaceApiextensionsV1CustomResourceDefinition", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" } }, "401": { @@ -42483,70 +48144,33 @@ "https" ], "tags": [ - "core_v1" + "apiextensions_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "PodTemplate", + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/api/v1/watch/replicationcontrollers": { + "/apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ReplicationController. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1ReplicationControllerListForAllNamespaces", + "description": "read status of the specified CustomResourceDefinition", + "operationId": "readApiextensionsV1CustomResourceDefinitionStatus", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" } }, "401": { @@ -42557,70 +48181,78 @@ "https" ], "tags": [ - "core_v1" + "apiextensions_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ReplicationController", + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "description": "name of the CustomResourceDefinition", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/api/v1/watch/resourcequotas": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified CustomResourceDefinition", + "operationId": "patchApiextensionsV1CustomResourceDefinitionStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch individual changes to a list of ResourceQuota. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1ResourceQuotaListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" } }, "401": { @@ -42631,70 +48263,64 @@ "https" ], "tags": [ - "core_v1" + "apiextensions_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ResourceQuota", + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/api/v1/watch/secrets": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Secret. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1SecretListForAllNamespaces", + "description": "replace status of the specified CustomResourceDefinition", + "operationId": "replaceApiextensionsV1CustomResourceDefinitionStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" } }, "401": { @@ -42705,58 +48331,23 @@ "https" ], "tags": [ - "core_v1" + "apiextensions_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Secret", + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/api/v1/watch/serviceaccounts": { + "/apis/apiextensions.k8s.io/v1/watch/customresourcedefinitions": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ServiceAccount. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1ServiceAccountListForAllNamespaces", + "description": "watch individual changes to a list of CustomResourceDefinition. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchApiextensionsV1CustomResourceDefinitionList", "produces": [ "application/json", "application/yaml", @@ -42779,12 +48370,12 @@ "https" ], "tags": [ - "core_v1" + "apiextensions_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "ServiceAccount", + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", "version": "v1" } }, @@ -42824,13 +48415,13 @@ } ] }, - "/api/v1/watch/services": { + "/apis/apiextensions.k8s.io/v1/watch/customresourcedefinitions/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Service. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoreV1ServiceListForAllNamespaces", + "description": "watch changes to an object of kind CustomResourceDefinition. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchApiextensionsV1CustomResourceDefinition", "produces": [ "application/json", "application/yaml", @@ -42853,12 +48444,12 @@ "https" ], "tags": [ - "core_v1" + "apiextensions_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "", - "kind": "Service", + "group": "apiextensions.k8s.io", + "kind": "CustomResourceDefinition", "version": "v1" } }, @@ -42878,6 +48469,14 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the CustomResourceDefinition", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -42898,40 +48497,7 @@ } ] }, - "/apis/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get available API versions", - "operationId": "getAPIVersions", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "apis" - ] - } - }, - "/apis/admissionregistration.k8s.io/": { + "/apis/apiregistration.k8s.io/": { "get": { "consumes": [ "application/json", @@ -42939,7 +48505,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get information of a group", - "operationId": "getAdmissionregistrationAPIGroup", + "operationId": "getApiregistrationAPIGroup", "produces": [ "application/json", "application/yaml", @@ -42960,11 +48526,11 @@ "https" ], "tags": [ - "admissionregistration" + "apiregistration" ] } }, - "/apis/admissionregistration.k8s.io/v1/": { + "/apis/apiregistration.k8s.io/v1/": { "get": { "consumes": [ "application/json", @@ -42972,7 +48538,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getAdmissionregistrationV1APIResources", + "operationId": "getApiregistrationV1APIResources", "produces": [ "application/json", "application/yaml", @@ -42993,17 +48559,17 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apiregistration_v1" ] } }, - "/apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations": { + "/apis/apiregistration.k8s.io/v1/apiservices": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of MutatingWebhookConfiguration", - "operationId": "deleteAdmissionregistrationV1CollectionMutatingWebhookConfiguration", + "description": "delete collection of APIService", + "operationId": "deleteApiregistrationV1CollectionAPIService", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -43072,12 +48638,12 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apiregistration_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfiguration", + "group": "apiregistration.k8s.io", + "kind": "APIService", "version": "v1" } }, @@ -43085,8 +48651,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind MutatingWebhookConfiguration", - "operationId": "listAdmissionregistrationV1MutatingWebhookConfiguration", + "description": "list or watch objects of kind APIService", + "operationId": "listApiregistrationV1APIService", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -43110,27 +48676,477 @@ "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" }, { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apiregistration_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "apiregistration.k8s.io", + "kind": "APIService", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create an APIService", + "operationId": "createApiregistrationV1APIService", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apiregistration_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "apiregistration.k8s.io", + "kind": "APIService", + "version": "v1" + } + } + }, + "/apis/apiregistration.k8s.io/v1/apiservices/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete an APIService", + "operationId": "deleteApiregistrationV1APIService", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apiregistration_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "apiregistration.k8s.io", + "kind": "APIService", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "read the specified APIService", + "operationId": "readApiregistrationV1APIService", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apiregistration_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "apiregistration.k8s.io", + "kind": "APIService", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the APIService", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified APIService", + "operationId": "patchApiregistrationV1APIService", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apiregistration_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "apiregistration.k8s.io", + "kind": "APIService", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace the specified APIService", + "operationId": "replaceApiregistrationV1APIService", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apiregistration_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "apiregistration.k8s.io", + "kind": "APIService", + "version": "v1" + } + } + }, + "/apis/apiregistration.k8s.io/v1/apiservices/{name}/status": { + "get": { + "consumes": [ + "*/*" + ], + "description": "read status of the specified APIService", + "operationId": "readApiregistrationV1APIServiceStatus", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apiregistration_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "apiregistration.k8s.io", + "kind": "APIService", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the APIService", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified APIService", + "operationId": "patchApiregistrationV1APIServiceStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/watch-XNNPZGbK" + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfigurationList" + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" } }, "401": { @@ -43141,33 +49157,28 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apiregistration_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfiguration", + "group": "apiregistration.k8s.io", + "kind": "APIService", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { + "put": { "consumes": [ "*/*" ], - "description": "create a MutatingWebhookConfiguration", - "operationId": "createAdmissionregistrationV1MutatingWebhookConfiguration", + "description": "replace status of the specified APIService", + "operationId": "replaceApiregistrationV1APIServiceStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" } }, { @@ -43197,19 +49208,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" } }, "401": { @@ -43220,63 +49225,35 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apiregistration_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfiguration", + "group": "apiregistration.k8s.io", + "kind": "APIService", "version": "v1" } } }, - "/apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}": { - "delete": { + "/apis/apiregistration.k8s.io/v1/watch/apiservices": { + "get": { "consumes": [ "*/*" ], - "description": "delete a MutatingWebhookConfiguration", - "operationId": "deleteAdmissionregistrationV1MutatingWebhookConfiguration", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "watch individual changes to a list of APIService. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchApiregistrationV1APIServiceList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -43287,31 +49264,70 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apiregistration_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfiguration", + "group": "apiregistration.k8s.io", + "kind": "APIService", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/apiregistration.k8s.io/v1/watch/apiservices/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read the specified MutatingWebhookConfiguration", - "operationId": "readAdmissionregistrationV1MutatingWebhookConfiguration", + "description": "watch changes to an object of kind APIService. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchApiregistrationV1APIService", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -43322,18 +49338,33 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apiregistration_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfiguration", + "group": "apiregistration.k8s.io", + "kind": "APIService", "version": "v1" } }, "parameters": [ { - "description": "name of the MutatingWebhookConfiguration", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the APIService", "in": "path", "name": "name", "required": true, @@ -43342,42 +49373,66 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/apps/": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], - "description": "partially update the specified MutatingWebhookConfiguration", - "operationId": "patchAdmissionregistrationV1MutatingWebhookConfiguration", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "description": "get information of a group", + "operationId": "getAppsAPIGroup", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } }, - { - "$ref": "#/parameters/force-tOGGb0Yi" + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "apps" + ] + } + }, + "/apis/apps/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get available resources", + "operationId": "getAppsV1APIResources", "produces": [ "application/json", "application/yaml", @@ -43387,13 +49442,40 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, - "201": { - "description": "Created", + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "apps_v1" + ] + } + }, + "/apis/apps/v1/controllerrevisions": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind ControllerRevision", + "operationId": "listAppsV1ControllerRevisionForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevisionList" } }, "401": { @@ -43404,64 +49486,144 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfiguration", + "group": "apps", + "kind": "ControllerRevision", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/apps/v1/daemonsets": { + "get": { "consumes": [ "*/*" ], - "description": "replace the specified MutatingWebhookConfiguration", - "operationId": "replaceAdmissionregistrationV1MutatingWebhookConfiguration", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, + "description": "list or watch objects of kind DaemonSet", + "operationId": "listAppsV1DaemonSetForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSetList" } }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "apps_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "apps", + "kind": "DaemonSet", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/apps/v1/deployments": { + "get": { + "consumes": [ + "*/*" ], + "description": "list or watch objects of kind Deployment", + "operationId": "listAppsV1DeploymentForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.MutatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.DeploymentList" } }, "401": { @@ -43472,23 +49634,58 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfiguration", + "group": "apps", + "kind": "Deployment", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies": { + "/apis/apps/v1/namespaces/{namespace}/controllerrevisions": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ValidatingAdmissionPolicy", - "operationId": "deleteAdmissionregistrationV1CollectionValidatingAdmissionPolicy", + "description": "delete collection of ControllerRevision", + "operationId": "deleteAppsV1CollectionNamespacedControllerRevision", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -43557,12 +49754,12 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "apps", + "kind": "ControllerRevision", "version": "v1" } }, @@ -43570,8 +49767,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ValidatingAdmissionPolicy", - "operationId": "listAdmissionregistrationV1ValidatingAdmissionPolicy", + "description": "list or watch objects of kind ControllerRevision", + "operationId": "listAppsV1NamespacedControllerRevision", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -43615,7 +49812,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyList" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevisionList" } }, "401": { @@ -43626,16 +49823,19 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "apps", + "kind": "ControllerRevision", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -43644,15 +49844,15 @@ "consumes": [ "*/*" ], - "description": "create a ValidatingAdmissionPolicy", - "operationId": "createAdmissionregistrationV1ValidatingAdmissionPolicy", + "description": "create a ControllerRevision", + "operationId": "createAppsV1NamespacedControllerRevision", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" } }, { @@ -43682,19 +49882,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" } }, "401": { @@ -43705,23 +49905,23 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "apps", + "kind": "ControllerRevision", "version": "v1" } } }, - "/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}": { + "/apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ValidatingAdmissionPolicy", - "operationId": "deleteAdmissionregistrationV1ValidatingAdmissionPolicy", + "description": "delete a ControllerRevision", + "operationId": "deleteAppsV1NamespacedControllerRevision", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -43772,12 +49972,12 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "apps", + "kind": "ControllerRevision", "version": "v1" } }, @@ -43785,8 +49985,8 @@ "consumes": [ "*/*" ], - "description": "read the specified ValidatingAdmissionPolicy", - "operationId": "readAdmissionregistrationV1ValidatingAdmissionPolicy", + "description": "read the specified ControllerRevision", + "operationId": "readAppsV1NamespacedControllerRevision", "produces": [ "application/json", "application/yaml", @@ -43796,7 +49996,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" } }, "401": { @@ -43807,24 +50007,27 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "apps", + "kind": "ControllerRevision", "version": "v1" } }, "parameters": [ { - "description": "name of the ValidatingAdmissionPolicy", + "description": "name of the ControllerRevision", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -43836,8 +50039,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ValidatingAdmissionPolicy", - "operationId": "patchAdmissionregistrationV1ValidatingAdmissionPolicy", + "description": "partially update the specified ControllerRevision", + "operationId": "patchAppsV1NamespacedControllerRevision", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -43872,13 +50075,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" } }, "401": { @@ -43889,12 +50092,12 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "apps", + "kind": "ControllerRevision", "version": "v1" } }, @@ -43902,15 +50105,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified ValidatingAdmissionPolicy", - "operationId": "replaceAdmissionregistrationV1ValidatingAdmissionPolicy", + "description": "replace the specified ControllerRevision", + "operationId": "replaceAppsV1NamespacedControllerRevision", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" } }, { @@ -43940,13 +50143,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" } }, "401": { @@ -43957,23 +50160,71 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "apps", + "kind": "ControllerRevision", "version": "v1" } } }, - "/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}/status": { - "get": { + "/apis/apps/v1/namespaces/{namespace}/daemonsets": { + "delete": { "consumes": [ "*/*" ], - "description": "read status of the specified ValidatingAdmissionPolicy", - "operationId": "readAdmissionregistrationV1ValidatingAdmissionPolicyStatus", + "description": "delete collection of DaemonSet", + "operationId": "deleteAppsV1CollectionNamespacedDaemonSet", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", @@ -43983,7 +50234,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -43994,78 +50245,65 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "apps", + "kind": "DaemonSet", "version": "v1" } }, - "parameters": [ - { - "description": "name of the ValidatingAdmissionPolicy", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" + "*/*" ], - "description": "partially update status of the specified ValidatingAdmissionPolicy", - "operationId": "patchAdmissionregistrationV1ValidatingAdmissionPolicyStatus", + "description": "list or watch objects of kind DaemonSet", + "operationId": "listAppsV1NamespacedDaemonSet", "parameters": [ { - "$ref": "#/parameters/body-78PwaGsr" + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/continue-QfD61s0i" }, { - "$ref": "#/parameters/fieldManager-7c6nTn1T" + "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { - "$ref": "#/parameters/force-tOGGb0Yi" + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSetList" } }, "401": { @@ -44076,28 +50314,36 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "apps", + "kind": "DaemonSet", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { "consumes": [ "*/*" ], - "description": "replace status of the specified ValidatingAdmissionPolicy", - "operationId": "replaceAdmissionregistrationV1ValidatingAdmissionPolicyStatus", + "description": "create a DaemonSet", + "operationId": "createAppsV1NamespacedDaemonSet", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, { @@ -44127,13 +50373,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicy" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "401": { @@ -44144,30 +50396,27 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "apps", + "kind": "DaemonSet", "version": "v1" } } }, - "/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings": { + "/apis/apps/v1/namespaces/{namespace}/daemonsets/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ValidatingAdmissionPolicyBinding", - "operationId": "deleteAdmissionregistrationV1CollectionValidatingAdmissionPolicyBinding", + "description": "delete a DaemonSet", + "operationId": "deleteAppsV1NamespacedDaemonSet", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", "in": "query", @@ -44175,38 +50424,17 @@ "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, { "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, { "$ref": "#/parameters/orphanDependents-uRB25kX5" }, { "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" } ], "produces": [ @@ -44221,6 +50449,12 @@ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, "401": { "description": "Unauthorized" } @@ -44229,12 +50463,12 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBinding", + "group": "apps", + "kind": "DaemonSet", "version": "v1" } }, @@ -44242,52 +50476,18 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ValidatingAdmissionPolicyBinding", - "operationId": "listAdmissionregistrationV1ValidatingAdmissionPolicyBinding", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "read the specified DaemonSet", + "operationId": "readAppsV1NamespacedDaemonSet", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBindingList" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "401": { @@ -44298,34 +50498,43 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBinding", + "group": "apps", + "kind": "DaemonSet", "version": "v1" } }, "parameters": [ + { + "description": "name of the DaemonSet", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "post": { + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" ], - "description": "create a ValidatingAdmissionPolicyBinding", - "operationId": "createAdmissionregistrationV1ValidatingAdmissionPolicyBinding", + "description": "partially update the specified DaemonSet", + "operationId": "patchAppsV1NamespacedDaemonSet", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" - } + "$ref": "#/parameters/body-78PwaGsr" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -44335,7 +50544,7 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", @@ -44343,6 +50552,9 @@ "name": "fieldValidation", "type": "string", "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -44354,19 +50566,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "401": { @@ -44377,26 +50583,29 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBinding", + "group": "apps", + "kind": "DaemonSet", "version": "v1" } - } - }, - "/apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings/{name}": { - "delete": { + }, + "put": { "consumes": [ "*/*" ], - "description": "delete a ValidatingAdmissionPolicyBinding", - "operationId": "deleteAdmissionregistrationV1ValidatingAdmissionPolicyBinding", + "description": "replace the specified DaemonSet", + "operationId": "replaceAppsV1NamespacedDaemonSet", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" + } }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -44406,16 +50615,14 @@ "uniqueItems": true }, { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } ], "produces": [ @@ -44427,13 +50634,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, - "202": { - "description": "Accepted", + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "401": { @@ -44444,21 +50651,23 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBinding", + "group": "apps", + "kind": "DaemonSet", "version": "v1" } - }, + } + }, + "/apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read the specified ValidatingAdmissionPolicyBinding", - "operationId": "readAdmissionregistrationV1ValidatingAdmissionPolicyBinding", + "description": "read status of the specified DaemonSet", + "operationId": "readAppsV1NamespacedDaemonSetStatus", "produces": [ "application/json", "application/yaml", @@ -44468,7 +50677,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "401": { @@ -44479,24 +50688,27 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBinding", + "group": "apps", + "kind": "DaemonSet", "version": "v1" } }, "parameters": [ { - "description": "name of the ValidatingAdmissionPolicyBinding", + "description": "name of the DaemonSet", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -44508,8 +50720,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ValidatingAdmissionPolicyBinding", - "operationId": "patchAdmissionregistrationV1ValidatingAdmissionPolicyBinding", + "description": "partially update status of the specified DaemonSet", + "operationId": "patchAppsV1NamespacedDaemonSetStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -44544,13 +50756,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "401": { @@ -44561,12 +50773,12 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBinding", + "group": "apps", + "kind": "DaemonSet", "version": "v1" } }, @@ -44574,15 +50786,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified ValidatingAdmissionPolicyBinding", - "operationId": "replaceAdmissionregistrationV1ValidatingAdmissionPolicyBinding", + "description": "replace status of the specified DaemonSet", + "operationId": "replaceAppsV1NamespacedDaemonSetStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, { @@ -44612,13 +50824,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingAdmissionPolicyBinding" + "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" } }, "401": { @@ -44629,23 +50841,23 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBinding", + "group": "apps", + "kind": "DaemonSet", "version": "v1" } } }, - "/apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations": { + "/apis/apps/v1/namespaces/{namespace}/deployments": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ValidatingWebhookConfiguration", - "operationId": "deleteAdmissionregistrationV1CollectionValidatingWebhookConfiguration", + "description": "delete collection of Deployment", + "operationId": "deleteAppsV1CollectionNamespacedDeployment", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -44714,12 +50926,12 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfiguration", + "group": "apps", + "kind": "Deployment", "version": "v1" } }, @@ -44727,8 +50939,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ValidatingWebhookConfiguration", - "operationId": "listAdmissionregistrationV1ValidatingWebhookConfiguration", + "description": "list or watch objects of kind Deployment", + "operationId": "listAppsV1NamespacedDeployment", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -44772,7 +50984,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfigurationList" + "$ref": "#/definitions/io.k8s.api.apps.v1.DeploymentList" } }, "401": { @@ -44783,16 +50995,19 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfiguration", + "group": "apps", + "kind": "Deployment", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -44801,15 +51016,15 @@ "consumes": [ "*/*" ], - "description": "create a ValidatingWebhookConfiguration", - "operationId": "createAdmissionregistrationV1ValidatingWebhookConfiguration", + "description": "create a Deployment", + "operationId": "createAppsV1NamespacedDeployment", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, { @@ -44839,19 +51054,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "401": { @@ -44862,23 +51077,23 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfiguration", + "group": "apps", + "kind": "Deployment", "version": "v1" } } }, - "/apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}": { + "/apis/apps/v1/namespaces/{namespace}/deployments/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ValidatingWebhookConfiguration", - "operationId": "deleteAdmissionregistrationV1ValidatingWebhookConfiguration", + "description": "delete a Deployment", + "operationId": "deleteAppsV1NamespacedDeployment", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -44929,12 +51144,12 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfiguration", + "group": "apps", + "kind": "Deployment", "version": "v1" } }, @@ -44942,8 +51157,8 @@ "consumes": [ "*/*" ], - "description": "read the specified ValidatingWebhookConfiguration", - "operationId": "readAdmissionregistrationV1ValidatingWebhookConfiguration", + "description": "read the specified Deployment", + "operationId": "readAppsV1NamespacedDeployment", "produces": [ "application/json", "application/yaml", @@ -44953,7 +51168,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "401": { @@ -44964,24 +51179,27 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfiguration", + "group": "apps", + "kind": "Deployment", "version": "v1" } }, "parameters": [ { - "description": "name of the ValidatingWebhookConfiguration", + "description": "name of the Deployment", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -44993,8 +51211,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ValidatingWebhookConfiguration", - "operationId": "patchAdmissionregistrationV1ValidatingWebhookConfiguration", + "description": "partially update the specified Deployment", + "operationId": "patchAppsV1NamespacedDeployment", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -45029,13 +51247,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "401": { @@ -45046,12 +51264,12 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfiguration", + "group": "apps", + "kind": "Deployment", "version": "v1" } }, @@ -45059,15 +51277,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified ValidatingWebhookConfiguration", - "operationId": "replaceAdmissionregistrationV1ValidatingWebhookConfiguration", + "description": "replace the specified Deployment", + "operationId": "replaceAppsV1NamespacedDeployment", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, { @@ -45097,13 +51315,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.admissionregistration.v1.ValidatingWebhookConfiguration" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "401": { @@ -45114,265 +51332,33 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfiguration", + "group": "apps", + "kind": "Deployment", "version": "v1" } } }, - "/apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of MutatingWebhookConfiguration. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAdmissionregistrationV1MutatingWebhookConfigurationList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "admissionregistration_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfiguration", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind MutatingWebhookConfiguration. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAdmissionregistrationV1MutatingWebhookConfiguration", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "admissionregistration_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "MutatingWebhookConfiguration", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the MutatingWebhookConfiguration", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicies": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of ValidatingAdmissionPolicy. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAdmissionregistrationV1ValidatingAdmissionPolicyList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "admissionregistration_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicies/{name}": { + "/apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ValidatingAdmissionPolicy. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAdmissionregistrationV1ValidatingAdmissionPolicy", + "description": "read scale of the specified Deployment", + "operationId": "readAppsV1NamespacedDeploymentScale", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -45383,33 +51369,18 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicy", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ValidatingAdmissionPolicy", + "description": "name of the Scale", "in": "path", "name": "name", "required": true, @@ -45417,118 +51388,62 @@ "uniqueItems": true }, { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicybindings": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of ValidatingAdmissionPolicyBinding. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAdmissionregistrationV1ValidatingAdmissionPolicyBindingList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "admissionregistration_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBinding", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/watch-XNNPZGbK" + "$ref": "#/parameters/pretty-tJGM1-ng" } - ] - }, - "/apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicybindings/{name}": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update scale of the specified Deployment", + "operationId": "patchAppsV1NamespacedDeploymentScale", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch changes to an object of kind ValidatingAdmissionPolicyBinding. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAdmissionregistrationV1ValidatingAdmissionPolicyBinding", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -45539,78 +51454,64 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingAdmissionPolicyBinding", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ValidatingAdmissionPolicyBinding", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ValidatingWebhookConfiguration. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAdmissionregistrationV1ValidatingWebhookConfigurationList", + "description": "replace scale of the specified Deployment", + "operationId": "replaceAppsV1NamespacedDeploymentScale", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -45621,70 +51522,33 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfiguration", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations/{name}": { + "/apis/apps/v1/namespaces/{namespace}/deployments/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ValidatingWebhookConfiguration. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAdmissionregistrationV1ValidatingWebhookConfiguration", + "description": "read status of the specified Deployment", + "operationId": "readAppsV1NamespacedDeploymentStatus", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "401": { @@ -45695,33 +51559,18 @@ "https" ], "tags": [ - "admissionregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "admissionregistration.k8s.io", - "kind": "ValidatingWebhookConfiguration", + "group": "apps", + "kind": "Deployment", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ValidatingWebhookConfiguration", + "description": "name of the Deployment", "in": "path", "name": "name", "required": true, @@ -45729,34 +51578,46 @@ "uniqueItems": true }, { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/watch-XNNPZGbK" + "$ref": "#/parameters/pretty-tJGM1-ng" } - ] - }, - "/apis/apiextensions.k8s.io/": { - "get": { + ], + "patch": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified Deployment", + "operationId": "patchAppsV1NamespacedDeploymentStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "get information of a group", - "operationId": "getApiextensionsAPIGroup", "produces": [ "application/json", "application/yaml", @@ -45766,7 +51627,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "401": { @@ -45777,19 +51644,48 @@ "https" ], "tags": [ - "apiextensions" - ] - } - }, - "/apis/apiextensions.k8s.io/v1/": { - "get": { + "apps_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "apps", + "kind": "Deployment", + "version": "v1" + } + }, + "put": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" + ], + "description": "replace status of the specified Deployment", + "operationId": "replaceAppsV1NamespacedDeploymentStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } ], - "description": "get available resources", - "operationId": "getApiextensionsV1APIResources", "produces": [ "application/json", "application/yaml", @@ -45799,7 +51695,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" } }, "401": { @@ -45810,17 +51712,23 @@ "https" ], "tags": [ - "apiextensions_v1" - ] + "apps_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "apps", + "kind": "Deployment", + "version": "v1" + } } }, - "/apis/apiextensions.k8s.io/v1/customresourcedefinitions": { + "/apis/apps/v1/namespaces/{namespace}/replicasets": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of CustomResourceDefinition", - "operationId": "deleteApiextensionsV1CollectionCustomResourceDefinition", + "description": "delete collection of ReplicaSet", + "operationId": "deleteAppsV1CollectionNamespacedReplicaSet", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -45889,12 +51797,12 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "apps", + "kind": "ReplicaSet", "version": "v1" } }, @@ -45902,8 +51810,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind CustomResourceDefinition", - "operationId": "listApiextensionsV1CustomResourceDefinition", + "description": "list or watch objects of kind ReplicaSet", + "operationId": "listAppsV1NamespacedReplicaSet", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -45947,7 +51855,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionList" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSetList" } }, "401": { @@ -45958,16 +51866,19 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "apps", + "kind": "ReplicaSet", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -45976,15 +51887,15 @@ "consumes": [ "*/*" ], - "description": "create a CustomResourceDefinition", - "operationId": "createApiextensionsV1CustomResourceDefinition", + "description": "create a ReplicaSet", + "operationId": "createAppsV1NamespacedReplicaSet", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, { @@ -46014,19 +51925,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "401": { @@ -46037,23 +51948,23 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "apps", + "kind": "ReplicaSet", "version": "v1" } } }, - "/apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}": { + "/apis/apps/v1/namespaces/{namespace}/replicasets/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a CustomResourceDefinition", - "operationId": "deleteApiextensionsV1CustomResourceDefinition", + "description": "delete a ReplicaSet", + "operationId": "deleteAppsV1NamespacedReplicaSet", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -46104,12 +52015,12 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "apps", + "kind": "ReplicaSet", "version": "v1" } }, @@ -46117,8 +52028,8 @@ "consumes": [ "*/*" ], - "description": "read the specified CustomResourceDefinition", - "operationId": "readApiextensionsV1CustomResourceDefinition", + "description": "read the specified ReplicaSet", + "operationId": "readAppsV1NamespacedReplicaSet", "produces": [ "application/json", "application/yaml", @@ -46128,7 +52039,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "401": { @@ -46139,24 +52050,27 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "apps", + "kind": "ReplicaSet", "version": "v1" } }, "parameters": [ { - "description": "name of the CustomResourceDefinition", + "description": "name of the ReplicaSet", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -46168,8 +52082,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified CustomResourceDefinition", - "operationId": "patchApiextensionsV1CustomResourceDefinition", + "description": "partially update the specified ReplicaSet", + "operationId": "patchAppsV1NamespacedReplicaSet", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -46204,13 +52118,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "401": { @@ -46221,12 +52135,12 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "apps", + "kind": "ReplicaSet", "version": "v1" } }, @@ -46234,15 +52148,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified CustomResourceDefinition", - "operationId": "replaceApiextensionsV1CustomResourceDefinition", + "description": "replace the specified ReplicaSet", + "operationId": "replaceAppsV1NamespacedReplicaSet", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, { @@ -46272,13 +52186,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "401": { @@ -46289,23 +52203,23 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "apps", + "kind": "ReplicaSet", "version": "v1" } } }, - "/apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}/status": { + "/apis/apps/v1/namespaces/{namespace}/replicasets/{name}/scale": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified CustomResourceDefinition", - "operationId": "readApiextensionsV1CustomResourceDefinitionStatus", + "description": "read scale of the specified ReplicaSet", + "operationId": "readAppsV1NamespacedReplicaSetScale", "produces": [ "application/json", "application/yaml", @@ -46315,7 +52229,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -46326,24 +52240,27 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } }, "parameters": [ { - "description": "name of the CustomResourceDefinition", + "description": "name of the Scale", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -46355,8 +52272,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified CustomResourceDefinition", - "operationId": "patchApiextensionsV1CustomResourceDefinitionStatus", + "description": "partially update scale of the specified ReplicaSet", + "operationId": "patchAppsV1NamespacedReplicaSetScale", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -46391,13 +52308,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -46408,12 +52325,12 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } }, @@ -46421,15 +52338,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified CustomResourceDefinition", - "operationId": "replaceApiextensionsV1CustomResourceDefinitionStatus", + "description": "replace scale of the specified ReplicaSet", + "operationId": "replaceAppsV1NamespacedReplicaSetScale", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, { @@ -46459,13 +52376,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -46476,35 +52393,33 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } } }, - "/apis/apiextensions.k8s.io/v1/watch/customresourcedefinitions": { + "/apis/apps/v1/namespaces/{namespace}/replicasets/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of CustomResourceDefinition. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchApiextensionsV1CustomResourceDefinitionList", + "description": "read status of the specified ReplicaSet", + "operationId": "readAppsV1NamespacedReplicaSetStatus", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "401": { @@ -46515,70 +52430,81 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "apps", + "kind": "ReplicaSet", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" + "description": "name of the ReplicaSet", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/apiextensions.k8s.io/v1/watch/customresourcedefinitions/{name}": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified ReplicaSet", + "operationId": "patchAppsV1NamespacedReplicaSetStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch changes to an object of kind CustomResourceDefinition. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchApiextensionsV1CustomResourceDefinition", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "401": { @@ -46589,101 +52515,48 @@ "https" ], "tags": [ - "apiextensions_v1" + "apps_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "apiextensions.k8s.io", - "kind": "CustomResourceDefinition", + "group": "apps", + "kind": "ReplicaSet", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the CustomResourceDefinition", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/apiregistration.k8s.io/": { - "get": { + "put": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getApiregistrationAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], - "responses": { - "200": { - "description": "OK", + "description": "replace status of the specified ReplicaSet", + "operationId": "replaceAppsV1NamespacedReplicaSetStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, - "401": { - "description": "Unauthorized" + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } - }, - "schemes": [ - "https" - ], - "tags": [ - "apiregistration" - ] - } - }, - "/apis/apiregistration.k8s.io/v1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" ], - "description": "get available resources", - "operationId": "getApiregistrationV1APIResources", "produces": [ "application/json", "application/yaml", @@ -46693,7 +52566,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" } }, "401": { @@ -46704,17 +52583,23 @@ "https" ], "tags": [ - "apiregistration_v1" - ] + "apps_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "apps", + "kind": "ReplicaSet", + "version": "v1" + } } }, - "/apis/apiregistration.k8s.io/v1/apiservices": { + "/apis/apps/v1/namespaces/{namespace}/statefulsets": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of APIService", - "operationId": "deleteApiregistrationV1CollectionAPIService", + "description": "delete collection of StatefulSet", + "operationId": "deleteAppsV1CollectionNamespacedStatefulSet", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -46783,12 +52668,12 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "apps", + "kind": "StatefulSet", "version": "v1" } }, @@ -46796,8 +52681,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind APIService", - "operationId": "listApiregistrationV1APIService", + "description": "list or watch objects of kind StatefulSet", + "operationId": "listAppsV1NamespacedStatefulSet", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -46841,7 +52726,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIServiceList" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSetList" } }, "401": { @@ -46852,16 +52737,19 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "apps", + "kind": "StatefulSet", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -46870,15 +52758,15 @@ "consumes": [ "*/*" ], - "description": "create an APIService", - "operationId": "createApiregistrationV1APIService", + "description": "create a StatefulSet", + "operationId": "createAppsV1NamespacedStatefulSet", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, { @@ -46908,19 +52796,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "401": { @@ -46931,23 +52819,23 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "apps", + "kind": "StatefulSet", "version": "v1" } } }, - "/apis/apiregistration.k8s.io/v1/apiservices/{name}": { + "/apis/apps/v1/namespaces/{namespace}/statefulsets/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete an APIService", - "operationId": "deleteApiregistrationV1APIService", + "description": "delete a StatefulSet", + "operationId": "deleteAppsV1NamespacedStatefulSet", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -46998,12 +52886,12 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "apps", + "kind": "StatefulSet", "version": "v1" } }, @@ -47011,8 +52899,8 @@ "consumes": [ "*/*" ], - "description": "read the specified APIService", - "operationId": "readApiregistrationV1APIService", + "description": "read the specified StatefulSet", + "operationId": "readAppsV1NamespacedStatefulSet", "produces": [ "application/json", "application/yaml", @@ -47022,7 +52910,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "401": { @@ -47033,24 +52921,27 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "apps", + "kind": "StatefulSet", "version": "v1" } }, "parameters": [ { - "description": "name of the APIService", + "description": "name of the StatefulSet", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -47062,8 +52953,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified APIService", - "operationId": "patchApiregistrationV1APIService", + "description": "partially update the specified StatefulSet", + "operationId": "patchAppsV1NamespacedStatefulSet", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -47098,13 +52989,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "401": { @@ -47115,12 +53006,12 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "apps", + "kind": "StatefulSet", "version": "v1" } }, @@ -47128,15 +53019,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified APIService", - "operationId": "replaceApiregistrationV1APIService", + "description": "replace the specified StatefulSet", + "operationId": "replaceAppsV1NamespacedStatefulSet", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, { @@ -47166,13 +53057,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "401": { @@ -47183,23 +53074,23 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "apps", + "kind": "StatefulSet", "version": "v1" } } }, - "/apis/apiregistration.k8s.io/v1/apiservices/{name}/status": { + "/apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/scale": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified APIService", - "operationId": "readApiregistrationV1APIServiceStatus", + "description": "read scale of the specified StatefulSet", + "operationId": "readAppsV1NamespacedStatefulSetScale", "produces": [ "application/json", "application/yaml", @@ -47209,7 +53100,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -47220,24 +53111,27 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } }, "parameters": [ { - "description": "name of the APIService", + "description": "name of the Scale", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -47249,8 +53143,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified APIService", - "operationId": "patchApiregistrationV1APIServiceStatus", + "description": "partially update scale of the specified StatefulSet", + "operationId": "patchAppsV1NamespacedStatefulSetScale", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -47285,13 +53179,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -47302,12 +53196,12 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } }, @@ -47315,15 +53209,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified APIService", - "operationId": "replaceApiregistrationV1APIServiceStatus", + "description": "replace scale of the specified StatefulSet", + "operationId": "replaceAppsV1NamespacedStatefulSetScale", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, { @@ -47353,13 +53247,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.kube-aggregator.pkg.apis.apiregistration.v1.APIService" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" } }, "401": { @@ -47370,35 +53264,33 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "autoscaling", + "kind": "Scale", "version": "v1" } } }, - "/apis/apiregistration.k8s.io/v1/watch/apiservices": { + "/apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of APIService. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchApiregistrationV1APIServiceList", + "description": "read status of the specified StatefulSet", + "operationId": "readAppsV1NamespacedStatefulSetStatus", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "401": { @@ -47409,70 +53301,81 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "apps", + "kind": "StatefulSet", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" + "description": "name of the StatefulSet", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/apiregistration.k8s.io/v1/watch/apiservices/{name}": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified StatefulSet", + "operationId": "patchAppsV1NamespacedStatefulSetStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch changes to an object of kind APIService. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchApiregistrationV1APIService", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "401": { @@ -47483,101 +53386,48 @@ "https" ], "tags": [ - "apiregistration_v1" + "apps_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "apiregistration.k8s.io", - "kind": "APIService", + "group": "apps", + "kind": "StatefulSet", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the APIService", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/apps/": { - "get": { + "put": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getAppsAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], - "responses": { - "200": { - "description": "OK", + "description": "replace status of the specified StatefulSet", + "operationId": "replaceAppsV1NamespacedStatefulSetStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, - "401": { - "description": "Unauthorized" + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } - }, - "schemes": [ - "https" - ], - "tags": [ - "apps" - ] - } - }, - "/apis/apps/v1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" ], - "description": "get available resources", - "operationId": "getAppsV1APIResources", "produces": [ "application/json", "application/yaml", @@ -47587,7 +53437,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" } }, "401": { @@ -47599,16 +53455,22 @@ ], "tags": [ "apps_v1" - ] + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "apps", + "kind": "StatefulSet", + "version": "v1" + } } }, - "/apis/apps/v1/controllerrevisions": { + "/apis/apps/v1/replicasets": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ControllerRevision", - "operationId": "listAppsV1ControllerRevisionForAllNamespaces", + "description": "list or watch objects of kind ReplicaSet", + "operationId": "listAppsV1ReplicaSetForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -47620,7 +53482,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevisionList" + "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSetList" } }, "401": { @@ -47636,7 +53498,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "ControllerRevision", + "kind": "ReplicaSet", "version": "v1" } }, @@ -47676,13 +53538,13 @@ } ] }, - "/apis/apps/v1/daemonsets": { + "/apis/apps/v1/statefulsets": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind DaemonSet", - "operationId": "listAppsV1DaemonSetForAllNamespaces", + "description": "list or watch objects of kind StatefulSet", + "operationId": "listAppsV1StatefulSetForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -47694,7 +53556,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSetList" + "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSetList" } }, "401": { @@ -47710,7 +53572,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "DaemonSet", + "kind": "StatefulSet", "version": "v1" } }, @@ -47750,13 +53612,13 @@ } ] }, - "/apis/apps/v1/deployments": { + "/apis/apps/v1/watch/controllerrevisions": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Deployment", - "operationId": "listAppsV1DeploymentForAllNamespaces", + "description": "watch individual changes to a list of ControllerRevision. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAppsV1ControllerRevisionListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -47768,7 +53630,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DeploymentList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -47781,10 +53643,10 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "Deployment", + "kind": "ControllerRevision", "version": "v1" } }, @@ -47824,222 +53686,25 @@ } ] }, - "/apis/apps/v1/namespaces/{namespace}/controllerrevisions": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete collection of ControllerRevision", - "operationId": "deleteAppsV1CollectionNamespacedControllerRevision", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "deletecollection", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ControllerRevision", - "version": "v1" - } - }, + "/apis/apps/v1/watch/daemonsets": { "get": { "consumes": [ - "*/*" - ], - "description": "list or watch objects of kind ControllerRevision", - "operationId": "listAppsV1NamespacedControllerRevision", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevisionList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "list", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ControllerRevision", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { - "consumes": [ - "*/*" - ], - "description": "create a ControllerRevision", - "operationId": "createAppsV1NamespacedControllerRevision", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } + "*/*" ], + "description": "watch individual changes to a list of DaemonSet. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAppsV1DaemonSetListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48052,61 +53717,68 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "ControllerRevision", + "kind": "DaemonSet", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}": { - "delete": { + "/apis/apps/v1/watch/deployments": { + "get": { "consumes": [ "*/*" ], - "description": "delete a ControllerRevision", - "operationId": "deleteAppsV1NamespacedControllerRevision", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "watch individual changes to a list of Deployment. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAppsV1DeploymentListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48119,29 +53791,68 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "ControllerRevision", + "kind": "Deployment", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/apps/v1/watch/namespaces/{namespace}/controllerrevisions": { "get": { "consumes": [ "*/*" ], - "description": "read the specified ControllerRevision", - "operationId": "readAppsV1NamespacedControllerRevision", + "description": "watch individual changes to a list of ControllerRevision. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAppsV1NamespacedControllerRevisionList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48154,7 +53865,7 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "apps", "kind": "ControllerRevision", @@ -48163,70 +53874,62 @@ }, "parameters": [ { - "description": "name of the ControllerRevision", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/apps/v1/watch/namespaces/{namespace}/controllerrevisions/{name}": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified ControllerRevision", - "operationId": "patchAppsV1NamespacedControllerRevision", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch changes to an object of kind ControllerRevision. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAppsV1NamespacedControllerRevision", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48239,62 +53942,79 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "apps", "kind": "ControllerRevision", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the ControllerRevision", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/apps/v1/watch/namespaces/{namespace}/daemonsets": { + "get": { "consumes": [ "*/*" ], - "description": "replace the specified ControllerRevision", - "operationId": "replaceAppsV1NamespacedControllerRevision", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch individual changes to a list of DaemonSet. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAppsV1NamespacedDaemonSetList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ControllerRevision" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48307,79 +54027,71 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "ControllerRevision", + "kind": "DaemonSet", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/apps/v1/namespaces/{namespace}/daemonsets": { - "delete": { + "/apis/apps/v1/watch/namespaces/{namespace}/daemonsets/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "delete collection of DaemonSet", - "operationId": "deleteAppsV1CollectionNamespacedDaemonSet", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], + "description": "watch changes to an object of kind DaemonSet. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAppsV1NamespacedDaemonSet", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48392,51 +54104,67 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "apps", "kind": "DaemonSet", "version": "v1" } }, - "get": { - "consumes": [ - "*/*" - ], - "description": "list or watch objects of kind DaemonSet", - "operationId": "listAppsV1NamespacedDaemonSet", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the DaemonSet", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/apps/v1/watch/namespaces/{namespace}/deployments": { + "get": { + "consumes": [ + "*/*" ], + "description": "watch individual changes to a list of Deployment. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAppsV1NamespacedDeploymentList", "produces": [ "application/json", "application/yaml", @@ -48448,7 +54176,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSetList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48461,76 +54189,71 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "DaemonSet", + "kind": "Deployment", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "post": { + ] + }, + "/apis/apps/v1/watch/namespaces/{namespace}/deployments/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "create a DaemonSet", - "operationId": "createAppsV1NamespacedDaemonSet", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch changes to an object of kind Deployment. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAppsV1NamespacedDeployment", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48543,61 +54266,79 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "DaemonSet", + "kind": "Deployment", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Deployment", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/apps/v1/namespaces/{namespace}/daemonsets/{name}": { - "delete": { + "/apis/apps/v1/watch/namespaces/{namespace}/replicasets": { + "get": { "consumes": [ "*/*" ], - "description": "delete a DaemonSet", - "operationId": "deleteAppsV1NamespacedDaemonSet", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "watch individual changes to a list of ReplicaSet. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAppsV1NamespacedReplicaSetList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48610,29 +54351,71 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "DaemonSet", + "kind": "ReplicaSet", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/apps/v1/watch/namespaces/{namespace}/replicasets/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read the specified DaemonSet", - "operationId": "readAppsV1NamespacedDaemonSet", + "description": "watch changes to an object of kind ReplicaSet. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAppsV1NamespacedReplicaSet", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48645,16 +54428,31 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "DaemonSet", + "kind": "ReplicaSet", "version": "v1" } }, "parameters": [ { - "description": "name of the DaemonSet", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the ReplicaSet", "in": "path", "name": "name", "required": true, @@ -48666,58 +54464,43 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/apps/v1/watch/namespaces/{namespace}/statefulsets": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified DaemonSet", - "operationId": "patchAppsV1NamespacedDaemonSet", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of StatefulSet. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAppsV1NamespacedStatefulSetList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48730,99 +54513,71 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "DaemonSet", + "kind": "StatefulSet", "version": "v1" } }, - "put": { - "consumes": [ - "*/*" - ], - "description": "replace the specified DaemonSet", - "operationId": "replaceAppsV1NamespacedDaemonSet", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" - } - }, - "401": { - "description": "Unauthorized" - } + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, - "schemes": [ - "https" - ], - "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "DaemonSet", - "version": "v1" + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - } + ] }, - "/apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status": { + "/apis/apps/v1/watch/namespaces/{namespace}/statefulsets/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified DaemonSet", - "operationId": "readAppsV1NamespacedDaemonSetStatus", + "description": "watch changes to an object of kind StatefulSet. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAppsV1NamespacedStatefulSet", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48835,16 +54590,31 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "DaemonSet", + "kind": "StatefulSet", "version": "v1" } }, "parameters": [ { - "description": "name of the DaemonSet", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the StatefulSet", "in": "path", "name": "name", "required": true, @@ -48856,58 +54626,43 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/apps/v1/watch/replicasets": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified DaemonSet", - "operationId": "patchAppsV1NamespacedDaemonSetStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of ReplicaSet. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAppsV1ReplicaSetListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48920,62 +54675,68 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "DaemonSet", + "kind": "ReplicaSet", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/apps/v1/watch/statefulsets": { + "get": { "consumes": [ "*/*" ], - "description": "replace status of the specified DaemonSet", - "operationId": "replaceAppsV1NamespacedDaemonSetStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch individual changes to a list of StatefulSet. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAppsV1StatefulSetListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DaemonSet" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -48988,69 +54749,58 @@ "tags": [ "apps_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "apps", - "kind": "DaemonSet", + "kind": "StatefulSet", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/apps/v1/namespaces/{namespace}/deployments": { - "delete": { + "/apis/authentication.k8s.io/": { + "get": { "consumes": [ - "*/*" - ], - "description": "delete collection of Deployment", - "operationId": "deleteAppsV1CollectionNamespacedDeployment", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get information of a group", + "operationId": "getAuthenticationAPIGroup", "produces": [ "application/json", "application/yaml", @@ -49060,7 +54810,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -49071,65 +54821,29 @@ "https" ], "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "deletecollection", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", - "version": "v1" - } - }, + "authentication" + ] + } + }, + "/apis/authentication.k8s.io/v1/": { "get": { "consumes": [ - "*/*" - ], - "description": "list or watch objects of kind Deployment", - "operationId": "listAppsV1NamespacedDeployment", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get available resources", + "operationId": "getAuthenticationV1APIResources", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.DeploymentList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -49140,18 +54854,28 @@ "https" ], "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "list", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", - "version": "v1" - } - }, + "authentication_v1" + ] + } + }, + "/apis/authentication.k8s.io/v1/selfsubjectreviews": { "parameters": [ { - "$ref": "#/parameters/namespace-vgWSWtn3" + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" @@ -49161,33 +54885,16 @@ "consumes": [ "*/*" ], - "description": "create a Deployment", - "operationId": "createAppsV1NamespacedDeployment", + "description": "create a SelfSubjectReview", + "operationId": "createAuthenticationV1SelfSubjectReview", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.api.authentication.v1.SelfSubjectReview" } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true } ], "produces": [ @@ -49199,19 +54906,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.api.authentication.v1.SelfSubjectReview" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.api.authentication.v1.SelfSubjectReview" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.api.authentication.v1.SelfSubjectReview" } }, "401": { @@ -49222,45 +54929,53 @@ "https" ], "tags": [ - "apps_v1" + "authentication_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", + "group": "authentication.k8s.io", + "kind": "SelfSubjectReview", "version": "v1" } } }, - "/apis/apps/v1/namespaces/{namespace}/deployments/{name}": { - "delete": { + "/apis/authentication.k8s.io/v1/tokenreviews": { + "parameters": [ + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { "consumes": [ "*/*" ], - "description": "delete a Deployment", - "operationId": "deleteAppsV1NamespacedDeployment", + "description": "create a TokenReview", + "operationId": "createAuthenticationV1TokenReview", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenReview" + } } ], "produces": [ @@ -49272,13 +54987,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenReview" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenReview" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenReview" } }, "401": { @@ -49289,21 +55010,25 @@ "https" ], "tags": [ - "apps_v1" + "authentication_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", + "group": "authentication.k8s.io", + "kind": "TokenReview", "version": "v1" } - }, + } + }, + "/apis/authorization.k8s.io/": { "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], - "description": "read the specified Deployment", - "operationId": "readAppsV1NamespacedDeployment", + "description": "get information of a group", + "operationId": "getAuthorizationAPIGroup", "produces": [ "application/json", "application/yaml", @@ -49313,7 +55038,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -49324,65 +55049,19 @@ "https" ], "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", - "version": "v1" - } - }, - "parameters": [ - { - "description": "name of the Deployment", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified Deployment", - "operationId": "patchAppsV1NamespacedDeployment", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "authorization" + ] + } + }, + "/apis/authorization.k8s.io/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get available resources", + "operationId": "getAuthorizationV1APIResources", "produces": [ "application/json", "application/yaml", @@ -49392,13 +55071,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -49409,46 +55082,50 @@ "https" ], "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", - "version": "v1" + "authorization_v1" + ] + } + }, + "/apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews": { + "parameters": [ + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" } - }, - "put": { + ], + "post": { "consumes": [ "*/*" ], - "description": "replace the specified Deployment", - "operationId": "replaceAppsV1NamespacedDeployment", + "description": "create a LocalSubjectAccessReview", + "operationId": "createAuthorizationV1NamespacedLocalSubjectAccessReview", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.api.authorization.v1.LocalSubjectAccessReview" } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true } ], "produces": [ @@ -49460,13 +55137,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.api.authorization.v1.LocalSubjectAccessReview" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.api.authorization.v1.LocalSubjectAccessReview" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.authorization.v1.LocalSubjectAccessReview" } }, "401": { @@ -49477,23 +55160,55 @@ "https" ], "tags": [ - "apps_v1" + "authorization_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", + "group": "authorization.k8s.io", + "kind": "LocalSubjectAccessReview", "version": "v1" } } }, - "/apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale": { - "get": { + "/apis/authorization.k8s.io/v1/selfsubjectaccessreviews": { + "parameters": [ + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { "consumes": [ "*/*" ], - "description": "read scale of the specified Deployment", - "operationId": "readAppsV1NamespacedDeploymentScale", + "description": "create a SelfSubjectAccessReview", + "operationId": "createAuthorizationV1SelfSubjectAccessReview", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectAccessReview" + } + } + ], "produces": [ "application/json", "application/yaml", @@ -49503,7 +55218,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectAccessReview" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectAccessReview" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectAccessReview" } }, "401": { @@ -49514,63 +55241,53 @@ "https" ], "tags": [ - "apps_v1" + "authorization_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "Scale", + "group": "authorization.k8s.io", + "kind": "SelfSubjectAccessReview", "version": "v1" } - }, + } + }, + "/apis/authorization.k8s.io/v1/selfsubjectrulesreviews": { "parameters": [ { - "description": "name of the Scale", - "in": "path", - "name": "name", - "required": true, + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", "type": "string", "uniqueItems": true }, { - "$ref": "#/parameters/namespace-vgWSWtn3" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "patch": { + "post": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" + "*/*" ], - "description": "partially update scale of the specified Deployment", - "operationId": "patchAppsV1NamespacedDeploymentScale", + "description": "create a SelfSubjectRulesReview", + "operationId": "createAuthorizationV1SelfSubjectRulesReview", "parameters": [ { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectRulesReview" + } } ], "produces": [ @@ -49582,13 +55299,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectRulesReview" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectRulesReview" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectRulesReview" } }, "401": { @@ -49599,46 +55322,53 @@ "https" ], "tags": [ - "apps_v1" + "authorization_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "Scale", + "group": "authorization.k8s.io", + "kind": "SelfSubjectRulesReview", "version": "v1" } - }, - "put": { + } + }, + "/apis/authorization.k8s.io/v1/subjectaccessreviews": { + "parameters": [ + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { "consumes": [ "*/*" ], - "description": "replace scale of the specified Deployment", - "operationId": "replaceAppsV1NamespacedDeploymentScale", + "description": "create a SubjectAccessReview", + "operationId": "createAuthorizationV1SubjectAccessReview", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReview" } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true } ], "produces": [ @@ -49650,13 +55380,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReview" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReview" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReview" } }, "401": { @@ -49667,23 +55403,25 @@ "https" ], "tags": [ - "apps_v1" + "authorization_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "Scale", + "group": "authorization.k8s.io", + "kind": "SubjectAccessReview", "version": "v1" } } }, - "/apis/apps/v1/namespaces/{namespace}/deployments/{name}/status": { + "/apis/autoscaling/": { "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], - "description": "read status of the specified Deployment", - "operationId": "readAppsV1NamespacedDeploymentStatus", + "description": "get information of a group", + "operationId": "getAutoscalingAPIGroup", "produces": [ "application/json", "application/yaml", @@ -49693,7 +55431,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -49704,65 +55442,19 @@ "https" ], "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", - "version": "v1" - } - }, - "parameters": [ - { - "description": "name of the Deployment", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { + "autoscaling" + ] + } + }, + "/apis/autoscaling/v1/": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified Deployment", - "operationId": "patchAppsV1NamespacedDeploymentStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get available resources", + "operationId": "getAutoscalingV1APIResources", "produces": [ "application/json", "application/yaml", @@ -49772,13 +55464,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -49789,64 +55475,29 @@ "https" ], "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", - "version": "v1" - } - }, - "put": { + "autoscaling_v1" + ] + } + }, + "/apis/autoscaling/v1/horizontalpodautoscalers": { + "get": { "consumes": [ "*/*" ], - "description": "replace status of the specified Deployment", - "operationId": "replaceAppsV1NamespacedDeploymentStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "list or watch objects of kind HorizontalPodAutoscaler", + "operationId": "listAutoscalingV1HorizontalPodAutoscalerForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.Deployment" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerList" } }, "401": { @@ -49857,23 +55508,58 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/apps/v1/namespaces/{namespace}/replicasets": { + "/apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ReplicaSet", - "operationId": "deleteAppsV1CollectionNamespacedReplicaSet", + "description": "delete collection of HorizontalPodAutoscaler", + "operationId": "deleteAutoscalingV1CollectionNamespacedHorizontalPodAutoscaler", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -49942,12 +55628,12 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", "version": "v1" } }, @@ -49955,8 +55641,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ReplicaSet", - "operationId": "listAppsV1NamespacedReplicaSet", + "description": "list or watch objects of kind HorizontalPodAutoscaler", + "operationId": "listAutoscalingV1NamespacedHorizontalPodAutoscaler", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -50000,7 +55686,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSetList" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerList" } }, "401": { @@ -50011,12 +55697,12 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", "version": "v1" } }, @@ -50032,15 +55718,15 @@ "consumes": [ "*/*" ], - "description": "create a ReplicaSet", - "operationId": "createAppsV1NamespacedReplicaSet", + "description": "create a HorizontalPodAutoscaler", + "operationId": "createAutoscalingV1NamespacedHorizontalPodAutoscaler", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, { @@ -50070,19 +55756,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -50093,23 +55779,23 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", "version": "v1" } } }, - "/apis/apps/v1/namespaces/{namespace}/replicasets/{name}": { + "/apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ReplicaSet", - "operationId": "deleteAppsV1NamespacedReplicaSet", + "description": "delete a HorizontalPodAutoscaler", + "operationId": "deleteAutoscalingV1NamespacedHorizontalPodAutoscaler", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -50160,12 +55846,12 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", "version": "v1" } }, @@ -50173,8 +55859,8 @@ "consumes": [ "*/*" ], - "description": "read the specified ReplicaSet", - "operationId": "readAppsV1NamespacedReplicaSet", + "description": "read the specified HorizontalPodAutoscaler", + "operationId": "readAutoscalingV1NamespacedHorizontalPodAutoscaler", "produces": [ "application/json", "application/yaml", @@ -50184,7 +55870,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -50195,18 +55881,18 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", "version": "v1" } }, "parameters": [ { - "description": "name of the ReplicaSet", + "description": "name of the HorizontalPodAutoscaler", "in": "path", "name": "name", "required": true, @@ -50227,8 +55913,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ReplicaSet", - "operationId": "patchAppsV1NamespacedReplicaSet", + "description": "partially update the specified HorizontalPodAutoscaler", + "operationId": "patchAutoscalingV1NamespacedHorizontalPodAutoscaler", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -50263,13 +55949,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -50280,12 +55966,12 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", "version": "v1" } }, @@ -50293,15 +55979,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified ReplicaSet", - "operationId": "replaceAppsV1NamespacedReplicaSet", + "description": "replace the specified HorizontalPodAutoscaler", + "operationId": "replaceAutoscalingV1NamespacedHorizontalPodAutoscaler", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, { @@ -50331,13 +56017,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -50348,23 +56034,23 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", "version": "v1" } } }, - "/apis/apps/v1/namespaces/{namespace}/replicasets/{name}/scale": { + "/apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read scale of the specified ReplicaSet", - "operationId": "readAppsV1NamespacedReplicaSetScale", + "description": "read status of the specified HorizontalPodAutoscaler", + "operationId": "readAutoscalingV1NamespacedHorizontalPodAutoscalerStatus", "produces": [ "application/json", "application/yaml", @@ -50374,7 +56060,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -50385,18 +56071,18 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "autoscaling", - "kind": "Scale", + "kind": "HorizontalPodAutoscaler", "version": "v1" } }, "parameters": [ { - "description": "name of the Scale", + "description": "name of the HorizontalPodAutoscaler", "in": "path", "name": "name", "required": true, @@ -50417,8 +56103,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update scale of the specified ReplicaSet", - "operationId": "patchAppsV1NamespacedReplicaSetScale", + "description": "partially update status of the specified HorizontalPodAutoscaler", + "operationId": "patchAutoscalingV1NamespacedHorizontalPodAutoscalerStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -50453,13 +56139,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { @@ -50470,12 +56156,12 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "autoscaling", - "kind": "Scale", + "kind": "HorizontalPodAutoscaler", "version": "v1" } }, @@ -50483,15 +56169,15 @@ "consumes": [ "*/*" ], - "description": "replace scale of the specified ReplicaSet", - "operationId": "replaceAppsV1NamespacedReplicaSetScale", + "description": "replace status of the specified HorizontalPodAutoscaler", + "operationId": "replaceAutoscalingV1NamespacedHorizontalPodAutoscalerStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, { @@ -50521,50 +56207,203 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" } }, "401": { "description": "Unauthorized" } }, - "schemes": [ - "https" - ], - "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "Scale", - "version": "v1" + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v1" + } + } + }, + "/apis/autoscaling/v1/watch/horizontalpodautoscalers": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAutoscalingV1HorizontalPodAutoscalerListForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/autoscaling/v1/watch/namespaces/{namespace}/horizontalpodautoscalers": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAutoscalingV1NamespacedHorizontalPodAutoscalerList", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "autoscaling_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - } + ] }, - "/apis/apps/v1/namespaces/{namespace}/replicasets/{name}/status": { + "/apis/autoscaling/v1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified ReplicaSet", - "operationId": "readAppsV1NamespacedReplicaSetStatus", + "description": "watch changes to an object of kind HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAutoscalingV1NamespacedHorizontalPodAutoscaler", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -50575,18 +56414,33 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", "version": "v1" } }, "parameters": [ { - "description": "name of the ReplicaSet", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the HorizontalPodAutoscaler", "in": "path", "name": "name", "required": true, @@ -50598,42 +56452,33 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/autoscaling/v2/": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified ReplicaSet", - "operationId": "patchAppsV1NamespacedReplicaSetStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get available resources", + "operationId": "getAutoscalingV2APIResources", "produces": [ "application/json", "application/yaml", @@ -50643,13 +56488,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -50660,64 +56499,29 @@ "https" ], "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", - "version": "v1" - } - }, - "put": { + "autoscaling_v2" + ] + } + }, + "/apis/autoscaling/v2/horizontalpodautoscalers": { + "get": { "consumes": [ "*/*" ], - "description": "replace status of the specified ReplicaSet", - "operationId": "replaceAppsV1NamespacedReplicaSetStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "list or watch objects of kind HorizontalPodAutoscaler", + "operationId": "listAutoscalingV2HorizontalPodAutoscalerForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscalerList" } }, "401": { @@ -50728,23 +56532,58 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/apps/v1/namespaces/{namespace}/statefulsets": { + "/apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of StatefulSet", - "operationId": "deleteAppsV1CollectionNamespacedStatefulSet", + "description": "delete collection of HorizontalPodAutoscaler", + "operationId": "deleteAutoscalingV2CollectionNamespacedHorizontalPodAutoscaler", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -50813,21 +56652,21 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind StatefulSet", - "operationId": "listAppsV1NamespacedStatefulSet", + "description": "list or watch objects of kind HorizontalPodAutoscaler", + "operationId": "listAutoscalingV2NamespacedHorizontalPodAutoscaler", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -50871,7 +56710,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSetList" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscalerList" } }, "401": { @@ -50882,13 +56721,13 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } }, "parameters": [ @@ -50903,15 +56742,15 @@ "consumes": [ "*/*" ], - "description": "create a StatefulSet", - "operationId": "createAppsV1NamespacedStatefulSet", + "description": "create a HorizontalPodAutoscaler", + "operationId": "createAutoscalingV2NamespacedHorizontalPodAutoscaler", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, { @@ -50941,19 +56780,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "401": { @@ -50964,23 +56803,23 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } } }, - "/apis/apps/v1/namespaces/{namespace}/statefulsets/{name}": { + "/apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a StatefulSet", - "operationId": "deleteAppsV1NamespacedStatefulSet", + "description": "delete a HorizontalPodAutoscaler", + "operationId": "deleteAutoscalingV2NamespacedHorizontalPodAutoscaler", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -51031,211 +56870,21 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" - } - }, - "get": { - "consumes": [ - "*/*" - ], - "description": "read the specified StatefulSet", - "operationId": "readAppsV1NamespacedStatefulSet", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" - } - }, - "parameters": [ - { - "description": "name of the StatefulSet", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified StatefulSet", - "operationId": "patchAppsV1NamespacedStatefulSet", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } }, - "put": { - "consumes": [ - "*/*" - ], - "description": "replace the specified StatefulSet", - "operationId": "replaceAppsV1NamespacedStatefulSet", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "apps_v1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" - } - } - }, - "/apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/scale": { "get": { "consumes": [ "*/*" ], - "description": "read scale of the specified StatefulSet", - "operationId": "readAppsV1NamespacedStatefulSetScale", + "description": "read the specified HorizontalPodAutoscaler", + "operationId": "readAutoscalingV2NamespacedHorizontalPodAutoscaler", "produces": [ "application/json", "application/yaml", @@ -51245,7 +56894,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "401": { @@ -51256,18 +56905,18 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "autoscaling", - "kind": "Scale", - "version": "v1" + "kind": "HorizontalPodAutoscaler", + "version": "v2" } }, "parameters": [ { - "description": "name of the Scale", + "description": "name of the HorizontalPodAutoscaler", "in": "path", "name": "name", "required": true, @@ -51288,8 +56937,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update scale of the specified StatefulSet", - "operationId": "patchAppsV1NamespacedStatefulSetScale", + "description": "partially update the specified HorizontalPodAutoscaler", + "operationId": "patchAutoscalingV2NamespacedHorizontalPodAutoscaler", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -51324,13 +56973,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "401": { @@ -51341,28 +56990,28 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "autoscaling", - "kind": "Scale", - "version": "v1" + "kind": "HorizontalPodAutoscaler", + "version": "v2" } }, "put": { "consumes": [ "*/*" ], - "description": "replace scale of the specified StatefulSet", - "operationId": "replaceAppsV1NamespacedStatefulSetScale", + "description": "replace the specified HorizontalPodAutoscaler", + "operationId": "replaceAutoscalingV2NamespacedHorizontalPodAutoscaler", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, { @@ -51392,13 +57041,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.Scale" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "401": { @@ -51409,23 +57058,23 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "autoscaling", - "kind": "Scale", - "version": "v1" + "kind": "HorizontalPodAutoscaler", + "version": "v2" } } }, - "/apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status": { + "/apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified StatefulSet", - "operationId": "readAppsV1NamespacedStatefulSetStatus", + "description": "read status of the specified HorizontalPodAutoscaler", + "operationId": "readAutoscalingV2NamespacedHorizontalPodAutoscalerStatus", "produces": [ "application/json", "application/yaml", @@ -51435,7 +57084,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "401": { @@ -51446,18 +57095,18 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } }, "parameters": [ { - "description": "name of the StatefulSet", + "description": "name of the HorizontalPodAutoscaler", "in": "path", "name": "name", "required": true, @@ -51478,8 +57127,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified StatefulSet", - "operationId": "patchAppsV1NamespacedStatefulSetStatus", + "description": "partially update status of the specified HorizontalPodAutoscaler", + "operationId": "patchAutoscalingV2NamespacedHorizontalPodAutoscalerStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -51514,13 +57163,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "401": { @@ -51531,28 +57180,28 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } }, "put": { "consumes": [ "*/*" ], - "description": "replace status of the specified StatefulSet", - "operationId": "replaceAppsV1NamespacedStatefulSetStatus", + "description": "replace status of the specified HorizontalPodAutoscaler", + "operationId": "replaceAutoscalingV2NamespacedHorizontalPodAutoscalerStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, { @@ -51582,13 +57231,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSet" + "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" } }, "401": { @@ -51599,23 +57248,23 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } } }, - "/apis/apps/v1/replicasets": { + "/apis/autoscaling/v2/watch/horizontalpodautoscalers": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind ReplicaSet", - "operationId": "listAppsV1ReplicaSetForAllNamespaces", + "description": "watch individual changes to a list of HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAutoscalingV2HorizontalPodAutoscalerListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -51627,7 +57276,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.ReplicaSetList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -51638,13 +57287,13 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } }, "parameters": [ @@ -51683,13 +57332,13 @@ } ] }, - "/apis/apps/v1/statefulsets": { + "/apis/autoscaling/v2/watch/namespaces/{namespace}/horizontalpodautoscalers": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind StatefulSet", - "operationId": "listAppsV1StatefulSetForAllNamespaces", + "description": "watch individual changes to a list of HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchAutoscalingV2NamespacedHorizontalPodAutoscalerList", "produces": [ "application/json", "application/yaml", @@ -51701,7 +57350,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSetList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -51712,13 +57361,13 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } }, "parameters": [ @@ -51737,6 +57386,9 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -51757,13 +57409,13 @@ } ] }, - "/apis/apps/v1/watch/controllerrevisions": { + "/apis/autoscaling/v2/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ControllerRevision. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAppsV1ControllerRevisionListForAllNamespaces", + "description": "watch changes to an object of kind HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchAutoscalingV2NamespacedHorizontalPodAutoscaler", "produces": [ "application/json", "application/yaml", @@ -51786,13 +57438,13 @@ "https" ], "tags": [ - "apps_v1" + "autoscaling_v2" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ControllerRevision", - "version": "v1" + "group": "autoscaling", + "kind": "HorizontalPodAutoscaler", + "version": "v2" } }, "parameters": [ @@ -51811,6 +57463,17 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the HorizontalPodAutoscaler", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -51831,25 +57494,25 @@ } ] }, - "/apis/apps/v1/watch/daemonsets": { + "/apis/batch/": { "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], - "description": "watch individual changes to a list of DaemonSet. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAppsV1DaemonSetListForAllNamespaces", + "description": "get information of a group", + "operationId": "getBatchAPIGroup", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -51860,58 +57523,50 @@ "https" ], "tags": [ - "apps_v1" + "batch" + ] + } + }, + "/apis/batch/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "DaemonSet", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "description": "get available resources", + "operationId": "getBatchV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + "schemes": [ + "https" + ], + "tags": [ + "batch_v1" + ] + } }, - "/apis/apps/v1/watch/deployments": { + "/apis/batch/v1/cronjobs": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Deployment. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAppsV1DeploymentListForAllNamespaces", + "description": "list or watch objects of kind CronJob", + "operationId": "listBatchV1CronJobForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -51923,7 +57578,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJobList" } }, "401": { @@ -51934,12 +57589,12 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", + "group": "batch", + "kind": "CronJob", "version": "v1" } }, @@ -51979,13 +57634,13 @@ } ] }, - "/apis/apps/v1/watch/namespaces/{namespace}/controllerrevisions": { + "/apis/batch/v1/jobs": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ControllerRevision. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAppsV1NamespacedControllerRevisionList", + "description": "list or watch objects of kind Job", + "operationId": "listBatchV1JobForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -51997,7 +57652,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.batch.v1.JobList" } }, "401": { @@ -52008,12 +57663,12 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ControllerRevision", + "group": "batch", + "kind": "Job", "version": "v1" } }, @@ -52033,9 +57688,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -52056,25 +57708,71 @@ } ] }, - "/apis/apps/v1/watch/namespaces/{namespace}/controllerrevisions/{name}": { - "get": { + "/apis/batch/v1/namespaces/{namespace}/cronjobs": { + "delete": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ControllerRevision. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAppsV1NamespacedControllerRevision", + "description": "delete collection of CronJob", + "operationId": "deleteBatchV1CollectionNamespacedCronJob", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -52085,69 +57783,53 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ControllerRevision", + "group": "batch", + "kind": "CronJob", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ControllerRevision", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/apps/v1/watch/namespaces/{namespace}/daemonsets": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of DaemonSet. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAppsV1NamespacedDaemonSetList", + "description": "list or watch objects of kind CronJob", + "operationId": "listBatchV1NamespacedCronJob", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", @@ -52159,7 +57841,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJobList" } }, "401": { @@ -52170,73 +57852,145 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "DaemonSet", + "group": "batch", + "kind": "CronJob", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a CronJob", + "operationId": "createBatchV1NamespacedCronJob", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "schemes": [ + "https" + ], + "tags": [ + "batch_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "batch", + "kind": "CronJob", + "version": "v1" } - ] + } }, - "/apis/apps/v1/watch/namespaces/{namespace}/daemonsets/{name}": { - "get": { + "/apis/batch/v1/namespaces/{namespace}/cronjobs/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind DaemonSet. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAppsV1NamespacedDaemonSet", + "description": "delete a CronJob", + "operationId": "deleteBatchV1NamespacedCronJob", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -52247,81 +58001,31 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "DaemonSet", + "group": "batch", + "kind": "CronJob", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the DaemonSet", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/apps/v1/watch/namespaces/{namespace}/deployments": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Deployment. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAppsV1NamespacedDeploymentList", + "description": "read the specified CronJob", + "operationId": "readBatchV1NamespacedCronJob", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" } }, "401": { @@ -52332,73 +58036,81 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", + "group": "batch", + "kind": "CronJob", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "description": "name of the CronJob", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/apps/v1/watch/namespaces/{namespace}/deployments/{name}": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified CronJob", + "operationId": "patchBatchV1NamespacedCronJob", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch changes to an object of kind Deployment. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAppsV1NamespacedDeployment", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" } }, "401": { @@ -52409,81 +58121,64 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "Deployment", + "group": "batch", + "kind": "CronJob", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the Deployment", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/apps/v1/watch/namespaces/{namespace}/replicasets": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ReplicaSet. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAppsV1NamespacedReplicaSetList", + "description": "replace the specified CronJob", + "operationId": "replaceBatchV1NamespacedCronJob", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" } }, "401": { @@ -52494,73 +58189,33 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "batch", + "kind": "CronJob", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/apis/apps/v1/watch/namespaces/{namespace}/replicasets/{name}": { + "/apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ReplicaSet. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAppsV1NamespacedReplicaSet", + "description": "read status of the specified CronJob", + "operationId": "readBatchV1NamespacedCronJobStatus", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" } }, "401": { @@ -52571,33 +58226,18 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "batch", + "kind": "CronJob", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ReplicaSet", + "description": "name of the CronJob", "in": "path", "name": "name", "required": true, @@ -52609,43 +58249,58 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/apps/v1/watch/namespaces/{namespace}/statefulsets": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified CronJob", + "operationId": "patchBatchV1NamespacedCronJobStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch individual changes to a list of StatefulSet. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAppsV1NamespacedStatefulSetList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" } }, "401": { @@ -52656,73 +58311,64 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", + "group": "batch", + "kind": "CronJob", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/apps/v1/watch/namespaces/{namespace}/statefulsets/{name}": { - "get": { + }, + "put": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind StatefulSet. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAppsV1NamespacedStatefulSet", + "description": "replace status of the specified CronJob", + "operationId": "replaceBatchV1NamespacedCronJobStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" } }, "401": { @@ -52733,81 +58379,81 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", + "group": "batch", + "kind": "CronJob", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the StatefulSet", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/apis/apps/v1/watch/replicasets": { - "get": { + "/apis/batch/v1/namespaces/{namespace}/jobs": { + "delete": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ReplicaSet. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAppsV1ReplicaSetListForAllNamespaces", + "description": "delete collection of Job", + "operationId": "deleteBatchV1CollectionNamespacedJob", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -52818,58 +58464,53 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "ReplicaSet", + "group": "batch", + "kind": "Job", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/apps/v1/watch/statefulsets": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of StatefulSet. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAppsV1StatefulSetListForAllNamespaces", + "description": "list or watch objects of kind Job", + "operationId": "listBatchV1NamespacedJob", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", @@ -52881,7 +58522,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.batch.v1.JobList" } }, "401": { @@ -52892,60 +58533,56 @@ "https" ], "tags": [ - "apps_v1" + "batch_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "apps", - "kind": "StatefulSet", + "group": "batch", + "kind": "Job", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/authentication.k8s.io/": { - "get": { + ], + "post": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" + ], + "description": "create a Job", + "operationId": "createBatchV1NamespacedJob", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } ], - "description": "get information of a group", - "operationId": "getAuthenticationAPIGroup", "produces": [ "application/json", "application/yaml", @@ -52955,7 +58592,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } }, "401": { @@ -52966,19 +58615,47 @@ "https" ], "tags": [ - "authentication" - ] + "batch_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "batch", + "kind": "Job", + "version": "v1" + } } }, - "/apis/authentication.k8s.io/v1/": { - "get": { + "/apis/batch/v1/namespaces/{namespace}/jobs/{name}": { + "delete": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" + ], + "description": "delete a Job", + "operationId": "deleteBatchV1NamespacedJob", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } ], - "description": "get available resources", - "operationId": "getAuthenticationV1APIResources", "produces": [ "application/json", "application/yaml", @@ -52988,7 +58665,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -52999,49 +58682,21 @@ "https" ], "tags": [ - "authentication_v1" - ] - } - }, - "/apis/authentication.k8s.io/v1/selfsubjectreviews": { - "parameters": [ - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" + "batch_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "batch", + "kind": "Job", + "version": "v1" } - ], - "post": { + }, + "get": { "consumes": [ "*/*" ], - "description": "create a SelfSubjectReview", - "operationId": "createAuthenticationV1SelfSubjectReview", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.SelfSubjectReview" - } - } - ], + "description": "read the specified Job", + "operationId": "readBatchV1NamespacedJob", "produces": [ "application/json", "application/yaml", @@ -53051,19 +58706,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.SelfSubjectReview" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.SelfSubjectReview" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.SelfSubjectReview" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } }, "401": { @@ -53074,53 +58717,63 @@ "https" ], "tags": [ - "authentication_v1" + "batch_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "authentication.k8s.io", - "kind": "SelfSubjectReview", + "group": "batch", + "kind": "Job", "version": "v1" } - } - }, - "/apis/authentication.k8s.io/v1/tokenreviews": { + }, "parameters": [ { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", + "description": "name of the Job", + "in": "path", + "name": "name", + "required": true, "type": "string", "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "post": { + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" ], - "description": "create a TokenReview", - "operationId": "createAuthenticationV1TokenReview", + "description": "partially update the specified Job", + "operationId": "patchBatchV1NamespacedJob", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenReview" - } + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -53132,19 +58785,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenReview" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenReview" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.authentication.v1.TokenReview" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } }, "401": { @@ -53155,25 +58802,48 @@ "https" ], "tags": [ - "authentication_v1" + "batch_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "authentication.k8s.io", - "kind": "TokenReview", + "group": "batch", + "kind": "Job", "version": "v1" } - } - }, - "/apis/authorization.k8s.io/": { - "get": { + }, + "put": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" + ], + "description": "replace the specified Job", + "operationId": "replaceBatchV1NamespacedJob", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } ], - "description": "get information of a group", - "operationId": "getAuthorizationAPIGroup", "produces": [ "application/json", "application/yaml", @@ -53183,7 +58853,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } }, "401": { @@ -53194,19 +58870,23 @@ "https" ], "tags": [ - "authorization" - ] + "batch_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "batch", + "kind": "Job", + "version": "v1" + } } }, - "/apis/authorization.k8s.io/v1/": { + "/apis/batch/v1/namespaces/{namespace}/jobs/{name}/status": { "get": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], - "description": "get available resources", - "operationId": "getAuthorizationV1APIResources", + "description": "read status of the specified Job", + "operationId": "readBatchV1NamespacedJobStatus", "produces": [ "application/json", "application/yaml", @@ -53216,7 +58896,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } }, "401": { @@ -53227,26 +58907,21 @@ "https" ], "tags": [ - "authorization_v1" - ] - } - }, - "/apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews": { + "batch_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "batch", + "kind": "Job", + "version": "v1" + } + }, "parameters": [ { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", + "description": "name of the Job", + "in": "path", + "name": "name", + "required": true, "type": "string", "uniqueItems": true }, @@ -53257,20 +58932,38 @@ "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "post": { + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" ], - "description": "create a LocalSubjectAccessReview", - "operationId": "createAuthorizationV1NamespacedLocalSubjectAccessReview", + "description": "partially update status of the specified Job", + "operationId": "patchBatchV1NamespacedJobStatus", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.LocalSubjectAccessReview" - } + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -53282,19 +58975,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.LocalSubjectAccessReview" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.LocalSubjectAccessReview" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.LocalSubjectAccessReview" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } }, "401": { @@ -53305,53 +58992,46 @@ "https" ], "tags": [ - "authorization_v1" + "batch_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "authorization.k8s.io", - "kind": "LocalSubjectAccessReview", + "group": "batch", + "kind": "Job", "version": "v1" } - } - }, - "/apis/authorization.k8s.io/v1/selfsubjectaccessreviews": { - "parameters": [ - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { + }, + "put": { "consumes": [ "*/*" ], - "description": "create a SelfSubjectAccessReview", - "operationId": "createAuthorizationV1SelfSubjectAccessReview", + "description": "replace status of the specified Job", + "operationId": "replaceBatchV1NamespacedJobStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectAccessReview" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } ], "produces": [ @@ -53363,19 +59043,52 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectAccessReview" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectAccessReview" + "$ref": "#/definitions/io.k8s.api.batch.v1.Job" } }, - "202": { - "description": "Accepted", + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "batch_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "batch", + "kind": "Job", + "version": "v1" + } + } + }, + "/apis/batch/v1/watch/cronjobs": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of CronJob. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchBatchV1CronJobListForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectAccessReview" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -53386,77 +59099,70 @@ "https" ], "tags": [ - "authorization_v1" + "batch_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "authorization.k8s.io", - "kind": "SelfSubjectAccessReview", + "group": "batch", + "kind": "CronJob", "version": "v1" } - } - }, - "/apis/authorization.k8s.io/v1/selfsubjectrulesreviews": { + }, "parameters": [ { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/continue-QfD61s0i" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "post": { + ] + }, + "/apis/batch/v1/watch/jobs": { + "get": { "consumes": [ "*/*" ], - "description": "create a SelfSubjectRulesReview", - "operationId": "createAuthorizationV1SelfSubjectRulesReview", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectRulesReview" - } - } - ], + "description": "watch individual changes to a list of Job. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchBatchV1JobListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectRulesReview" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectRulesReview" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SelfSubjectRulesReview" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -53467,77 +59173,70 @@ "https" ], "tags": [ - "authorization_v1" + "batch_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "authorization.k8s.io", - "kind": "SelfSubjectRulesReview", + "group": "batch", + "kind": "Job", "version": "v1" } - } - }, - "/apis/authorization.k8s.io/v1/subjectaccessreviews": { + }, "parameters": [ { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/continue-QfD61s0i" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "post": { + ] + }, + "/apis/batch/v1/watch/namespaces/{namespace}/cronjobs": { + "get": { "consumes": [ "*/*" ], - "description": "create a SubjectAccessReview", - "operationId": "createAuthorizationV1SubjectAccessReview", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReview" - } - } - ], + "description": "watch individual changes to a list of CronJob. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchBatchV1NamespacedCronJobList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReview" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReview" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.authorization.v1.SubjectAccessReview" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -53548,35 +59247,73 @@ "https" ], "tags": [ - "authorization_v1" + "batch_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "authorization.k8s.io", - "kind": "SubjectAccessReview", + "group": "batch", + "kind": "CronJob", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/autoscaling/": { + "/apis/batch/v1/watch/namespaces/{namespace}/cronjobs/{name}": { "get": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], - "description": "get information of a group", - "operationId": "getAutoscalingAPIGroup", + "description": "watch changes to an object of kind CronJob. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchBatchV1NamespacedCronJob", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -53587,29 +59324,81 @@ "https" ], "tags": [ - "autoscaling" - ] - } + "batch_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "batch", + "kind": "CronJob", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the CronJob", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/autoscaling/v1/": { + "/apis/batch/v1/watch/namespaces/{namespace}/jobs": { "get": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], - "description": "get available resources", - "operationId": "getAutoscalingV1APIResources", + "description": "watch individual changes to a list of Job. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchBatchV1NamespacedJobList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -53620,17 +59409,61 @@ "https" ], "tags": [ - "autoscaling_v1" - ] - } + "batch_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "batch", + "kind": "Job", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/autoscaling/v1/horizontalpodautoscalers": { + "/apis/batch/v1/watch/namespaces/{namespace}/jobs/{name}": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind HorizontalPodAutoscaler", - "operationId": "listAutoscalingV1HorizontalPodAutoscalerForAllNamespaces", + "description": "watch changes to an object of kind Job. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchBatchV1NamespacedJob", "produces": [ "application/json", "application/yaml", @@ -53642,7 +59475,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -53653,12 +59486,12 @@ "https" ], "tags": [ - "autoscaling_v1" + "batch_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "batch", + "kind": "Job", "version": "v1" } }, @@ -53678,6 +59511,17 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the Job", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -53698,13 +59542,79 @@ } ] }, - "/apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers": { + "/apis/certificates.k8s.io/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get information of a group", + "operationId": "getCertificatesAPIGroup", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "certificates" + ] + } + }, + "/apis/certificates.k8s.io/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getCertificatesV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "certificates_v1" + ] + } + }, + "/apis/certificates.k8s.io/v1/certificatesigningrequests": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of HorizontalPodAutoscaler", - "operationId": "deleteAutoscalingV1CollectionNamespacedHorizontalPodAutoscaler", + "description": "delete collection of CertificateSigningRequest", + "operationId": "deleteCertificatesV1CollectionCertificateSigningRequest", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -53773,12 +59683,12 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } }, @@ -53786,8 +59696,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind HorizontalPodAutoscaler", - "operationId": "listAutoscalingV1NamespacedHorizontalPodAutoscaler", + "description": "list or watch objects of kind CertificateSigningRequest", + "operationId": "listCertificatesV1CertificateSigningRequest", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -53831,7 +59741,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscalerList" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequestList" } }, "401": { @@ -53842,36 +59752,291 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/namespace-vgWSWtn3" + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a CertificateSigningRequest", + "operationId": "createCertificatesV1CertificateSigningRequest", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "certificates_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", + "version": "v1" + } + } + }, + "/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete a CertificateSigningRequest", + "operationId": "deleteCertificatesV1CertificateSigningRequest", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "certificates_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "read the specified CertificateSigningRequest", + "operationId": "readCertificatesV1CertificateSigningRequest", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "certificates_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the CertificateSigningRequest", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "post": { + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified CertificateSigningRequest", + "operationId": "patchCertificatesV1CertificateSigningRequest", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "certificates_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", + "version": "v1" + } + }, + "put": { "consumes": [ "*/*" ], - "description": "create a HorizontalPodAutoscaler", - "operationId": "createAutoscalingV1NamespacedHorizontalPodAutoscaler", + "description": "replace the specified CertificateSigningRequest", + "operationId": "replaceCertificatesV1CertificateSigningRequest", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, { @@ -53901,19 +60066,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "401": { @@ -53924,88 +60083,23 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } } }, - "/apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete a HorizontalPodAutoscaler", - "operationId": "deleteAutoscalingV1NamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "autoscaling_v1" - ], - "x-kubernetes-action": "delete", - "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v1" - } - }, + "/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/approval": { "get": { "consumes": [ "*/*" ], - "description": "read the specified HorizontalPodAutoscaler", - "operationId": "readAutoscalingV1NamespacedHorizontalPodAutoscaler", + "description": "read approval of the specified CertificateSigningRequest", + "operationId": "readCertificatesV1CertificateSigningRequestApproval", "produces": [ "application/json", "application/yaml", @@ -54015,7 +60109,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "401": { @@ -54026,27 +60120,24 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } }, "parameters": [ { - "description": "name of the HorizontalPodAutoscaler", + "description": "name of the CertificateSigningRequest", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -54058,8 +60149,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified HorizontalPodAutoscaler", - "operationId": "patchAutoscalingV1NamespacedHorizontalPodAutoscaler", + "description": "partially update approval of the specified CertificateSigningRequest", + "operationId": "patchCertificatesV1CertificateSigningRequestApproval", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -54094,13 +60185,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "401": { @@ -54111,12 +60202,12 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } }, @@ -54124,15 +60215,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified HorizontalPodAutoscaler", - "operationId": "replaceAutoscalingV1NamespacedHorizontalPodAutoscaler", + "description": "replace approval of the specified CertificateSigningRequest", + "operationId": "replaceCertificatesV1CertificateSigningRequestApproval", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, { @@ -54162,13 +60253,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "401": { @@ -54179,23 +60270,23 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } } }, - "/apis/autoscaling/v1/namespaces/{namespace}/horizontalpodautoscalers/{name}/status": { + "/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified HorizontalPodAutoscaler", - "operationId": "readAutoscalingV1NamespacedHorizontalPodAutoscalerStatus", + "description": "read status of the specified CertificateSigningRequest", + "operationId": "readCertificatesV1CertificateSigningRequestStatus", "produces": [ "application/json", "application/yaml", @@ -54205,7 +60296,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "401": { @@ -54216,27 +60307,24 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } }, "parameters": [ { - "description": "name of the HorizontalPodAutoscaler", + "description": "name of the CertificateSigningRequest", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -54248,8 +60336,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified HorizontalPodAutoscaler", - "operationId": "patchAutoscalingV1NamespacedHorizontalPodAutoscalerStatus", + "description": "partially update status of the specified CertificateSigningRequest", + "operationId": "patchCertificatesV1CertificateSigningRequestStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -54284,13 +60372,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "401": { @@ -54301,12 +60389,12 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } }, @@ -54314,15 +60402,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified HorizontalPodAutoscaler", - "operationId": "replaceAutoscalingV1NamespacedHorizontalPodAutoscalerStatus", + "description": "replace status of the specified CertificateSigningRequest", + "operationId": "replaceCertificatesV1CertificateSigningRequestStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, { @@ -54352,13 +60440,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" } }, "401": { @@ -54369,23 +60457,23 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } } }, - "/apis/autoscaling/v1/watch/horizontalpodautoscalers": { + "/apis/certificates.k8s.io/v1/watch/certificatesigningrequests": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAutoscalingV1HorizontalPodAutoscalerListForAllNamespaces", + "description": "watch individual changes to a list of CertificateSigningRequest. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCertificatesV1CertificateSigningRequestList", "produces": [ "application/json", "application/yaml", @@ -54408,12 +60496,12 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } }, @@ -54453,13 +60541,13 @@ } ] }, - "/apis/autoscaling/v1/watch/namespaces/{namespace}/horizontalpodautoscalers": { + "/apis/certificates.k8s.io/v1/watch/certificatesigningrequests/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAutoscalingV1NamespacedHorizontalPodAutoscalerList", + "description": "watch changes to an object of kind CertificateSigningRequest. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCertificatesV1CertificateSigningRequest", "produces": [ "application/json", "application/yaml", @@ -54482,12 +60570,12 @@ "https" ], "tags": [ - "autoscaling_v1" + "certificates_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", + "group": "certificates.k8s.io", + "kind": "CertificateSigningRequest", "version": "v1" } }, @@ -54508,7 +60596,12 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "$ref": "#/parameters/namespace-vgWSWtn3" + "description": "name of the CertificateSigningRequest", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" @@ -54530,25 +60623,25 @@ } ] }, - "/apis/autoscaling/v1/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}": { + "/apis/coordination.k8s.io/": { "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], - "description": "watch changes to an object of kind HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAutoscalingV1NamespacedHorizontalPodAutoscaler", + "description": "get information of a group", + "operationId": "getCoordinationAPIGroup", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -54559,63 +60652,11 @@ "https" ], "tags": [ - "autoscaling_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the HorizontalPodAutoscaler", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + "coordination" + ] + } }, - "/apis/autoscaling/v2/": { + "/apis/coordination.k8s.io/v1/": { "get": { "consumes": [ "application/json", @@ -54623,7 +60664,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getAutoscalingV2APIResources", + "operationId": "getCoordinationV1APIResources", "produces": [ "application/json", "application/yaml", @@ -54644,17 +60685,17 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ] } }, - "/apis/autoscaling/v2/horizontalpodautoscalers": { + "/apis/coordination.k8s.io/v1/leases": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind HorizontalPodAutoscaler", - "operationId": "listAutoscalingV2HorizontalPodAutoscalerForAllNamespaces", + "description": "list or watch objects of kind Lease", + "operationId": "listCoordinationV1LeaseForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -54666,7 +60707,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscalerList" + "$ref": "#/definitions/io.k8s.api.coordination.v1.LeaseList" } }, "401": { @@ -54677,13 +60718,13 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } }, "parameters": [ @@ -54722,13 +60763,13 @@ } ] }, - "/apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers": { + "/apis/coordination.k8s.io/v1/namespaces/{namespace}/leases": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of HorizontalPodAutoscaler", - "operationId": "deleteAutoscalingV2CollectionNamespacedHorizontalPodAutoscaler", + "description": "delete collection of Lease", + "operationId": "deleteCoordinationV1CollectionNamespacedLease", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -54797,21 +60838,21 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } }, "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind HorizontalPodAutoscaler", - "operationId": "listAutoscalingV2NamespacedHorizontalPodAutoscaler", + "description": "list or watch objects of kind Lease", + "operationId": "listCoordinationV1NamespacedLease", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -54855,7 +60896,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscalerList" + "$ref": "#/definitions/io.k8s.api.coordination.v1.LeaseList" } }, "401": { @@ -54866,13 +60907,13 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } }, "parameters": [ @@ -54887,15 +60928,15 @@ "consumes": [ "*/*" ], - "description": "create a HorizontalPodAutoscaler", - "operationId": "createAutoscalingV2NamespacedHorizontalPodAutoscaler", + "description": "create a Lease", + "operationId": "createCoordinationV1NamespacedLease", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" } }, { @@ -54925,19 +60966,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" } }, "401": { @@ -54948,23 +60989,23 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } } }, - "/apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}": { + "/apis/coordination.k8s.io/v1/namespaces/{namespace}/leases/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a HorizontalPodAutoscaler", - "operationId": "deleteAutoscalingV2NamespacedHorizontalPodAutoscaler", + "description": "delete a Lease", + "operationId": "deleteCoordinationV1NamespacedLease", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -55015,211 +61056,21 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" - } - }, - "get": { - "consumes": [ - "*/*" - ], - "description": "read the specified HorizontalPodAutoscaler", - "operationId": "readAutoscalingV2NamespacedHorizontalPodAutoscaler", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "autoscaling_v2" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" - } - }, - "parameters": [ - { - "description": "name of the HorizontalPodAutoscaler", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified HorizontalPodAutoscaler", - "operationId": "patchAutoscalingV2NamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "autoscaling_v2" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } }, - "put": { - "consumes": [ - "*/*" - ], - "description": "replace the specified HorizontalPodAutoscaler", - "operationId": "replaceAutoscalingV2NamespacedHorizontalPodAutoscaler", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "autoscaling_v2" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" - } - } - }, - "/apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified HorizontalPodAutoscaler", - "operationId": "readAutoscalingV2NamespacedHorizontalPodAutoscalerStatus", + "description": "read the specified Lease", + "operationId": "readCoordinationV1NamespacedLease", "produces": [ "application/json", "application/yaml", @@ -55229,7 +61080,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" } }, "401": { @@ -55240,18 +61091,18 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } }, "parameters": [ { - "description": "name of the HorizontalPodAutoscaler", + "description": "name of the Lease", "in": "path", "name": "name", "required": true, @@ -55272,8 +61123,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified HorizontalPodAutoscaler", - "operationId": "patchAutoscalingV2NamespacedHorizontalPodAutoscalerStatus", + "description": "partially update the specified Lease", + "operationId": "patchCoordinationV1NamespacedLease", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -55308,13 +61159,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" } }, "401": { @@ -55325,28 +61176,28 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } }, "put": { "consumes": [ "*/*" ], - "description": "replace status of the specified HorizontalPodAutoscaler", - "operationId": "replaceAutoscalingV2NamespacedHorizontalPodAutoscalerStatus", + "description": "replace the specified Lease", + "operationId": "replaceCoordinationV1NamespacedLease", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" } }, { @@ -55376,13 +61227,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.autoscaling.v2.HorizontalPodAutoscaler" + "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" } }, "401": { @@ -55393,23 +61244,23 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } } }, - "/apis/autoscaling/v2/watch/horizontalpodautoscalers": { + "/apis/coordination.k8s.io/v1/watch/leases": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAutoscalingV2HorizontalPodAutoscalerListForAllNamespaces", + "description": "watch individual changes to a list of Lease. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoordinationV1LeaseListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -55432,13 +61283,13 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } }, "parameters": [ @@ -55477,13 +61328,13 @@ } ] }, - "/apis/autoscaling/v2/watch/namespaces/{namespace}/horizontalpodautoscalers": { + "/apis/coordination.k8s.io/v1/watch/namespaces/{namespace}/leases": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchAutoscalingV2NamespacedHorizontalPodAutoscalerList", + "description": "watch individual changes to a list of Lease. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchCoordinationV1NamespacedLeaseList", "produces": [ "application/json", "application/yaml", @@ -55506,13 +61357,13 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } }, "parameters": [ @@ -55554,13 +61405,13 @@ } ] }, - "/apis/autoscaling/v2/watch/namespaces/{namespace}/horizontalpodautoscalers/{name}": { + "/apis/coordination.k8s.io/v1/watch/namespaces/{namespace}/leases/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind HorizontalPodAutoscaler. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchAutoscalingV2NamespacedHorizontalPodAutoscaler", + "description": "watch changes to an object of kind Lease. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchCoordinationV1NamespacedLease", "produces": [ "application/json", "application/yaml", @@ -55583,13 +61434,13 @@ "https" ], "tags": [ - "autoscaling_v2" + "coordination_v1" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "autoscaling", - "kind": "HorizontalPodAutoscaler", - "version": "v2" + "group": "coordination.k8s.io", + "kind": "Lease", + "version": "v1" } }, "parameters": [ @@ -55609,7 +61460,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the HorizontalPodAutoscaler", + "description": "name of the Lease", "in": "path", "name": "name", "required": true, @@ -55639,7 +61490,7 @@ } ] }, - "/apis/batch/": { + "/apis/discovery.k8s.io/": { "get": { "consumes": [ "application/json", @@ -55647,7 +61498,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get information of a group", - "operationId": "getBatchAPIGroup", + "operationId": "getDiscoveryAPIGroup", "produces": [ "application/json", "application/yaml", @@ -55668,11 +61519,11 @@ "https" ], "tags": [ - "batch" + "discovery" ] } }, - "/apis/batch/v1/": { + "/apis/discovery.k8s.io/v1/": { "get": { "consumes": [ "application/json", @@ -55680,7 +61531,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getBatchV1APIResources", + "operationId": "getDiscoveryV1APIResources", "produces": [ "application/json", "application/yaml", @@ -55701,91 +61552,17 @@ "https" ], "tags": [ - "batch_v1" + "discovery_v1" ] } }, - "/apis/batch/v1/cronjobs": { - "get": { - "consumes": [ - "*/*" - ], - "description": "list or watch objects of kind CronJob", - "operationId": "listBatchV1CronJobForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJobList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "batch_v1" - ], - "x-kubernetes-action": "list", - "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/batch/v1/jobs": { + "/apis/discovery.k8s.io/v1/endpointslices": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Job", - "operationId": "listBatchV1JobForAllNamespaces", + "description": "list or watch objects of kind EndpointSlice", + "operationId": "listDiscoveryV1EndpointSliceForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -55797,7 +61574,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.JobList" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSliceList" } }, "401": { @@ -55808,12 +61585,12 @@ "https" ], "tags": [ - "batch_v1" + "discovery_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -55853,13 +61630,13 @@ } ] }, - "/apis/batch/v1/namespaces/{namespace}/cronjobs": { + "/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of CronJob", - "operationId": "deleteBatchV1CollectionNamespacedCronJob", + "description": "delete collection of EndpointSlice", + "operationId": "deleteDiscoveryV1CollectionNamespacedEndpointSlice", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -55928,12 +61705,12 @@ "https" ], "tags": [ - "batch_v1" + "discovery_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -55941,8 +61718,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind CronJob", - "operationId": "listBatchV1NamespacedCronJob", + "description": "list or watch objects of kind EndpointSlice", + "operationId": "listDiscoveryV1NamespacedEndpointSlice", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -55986,7 +61763,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJobList" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSliceList" } }, "401": { @@ -55997,12 +61774,12 @@ "https" ], "tags": [ - "batch_v1" + "discovery_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -56018,15 +61795,15 @@ "consumes": [ "*/*" ], - "description": "create a CronJob", - "operationId": "createBatchV1NamespacedCronJob", + "description": "create an EndpointSlice", + "operationId": "createDiscoveryV1NamespacedEndpointSlice", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, { @@ -56056,19 +61833,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "401": { @@ -56079,23 +61856,23 @@ "https" ], "tags": [ - "batch_v1" + "discovery_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } } }, - "/apis/batch/v1/namespaces/{namespace}/cronjobs/{name}": { + "/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a CronJob", - "operationId": "deleteBatchV1NamespacedCronJob", + "description": "delete an EndpointSlice", + "operationId": "deleteDiscoveryV1NamespacedEndpointSlice", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -56146,12 +61923,12 @@ "https" ], "tags": [ - "batch_v1" + "discovery_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -56159,8 +61936,8 @@ "consumes": [ "*/*" ], - "description": "read the specified CronJob", - "operationId": "readBatchV1NamespacedCronJob", + "description": "read the specified EndpointSlice", + "operationId": "readDiscoveryV1NamespacedEndpointSlice", "produces": [ "application/json", "application/yaml", @@ -56170,7 +61947,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "401": { @@ -56181,18 +61958,18 @@ "https" ], "tags": [ - "batch_v1" + "discovery_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, "parameters": [ { - "description": "name of the CronJob", + "description": "name of the EndpointSlice", "in": "path", "name": "name", "required": true, @@ -56213,8 +61990,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified CronJob", - "operationId": "patchBatchV1NamespacedCronJob", + "description": "partially update the specified EndpointSlice", + "operationId": "patchDiscoveryV1NamespacedEndpointSlice", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -56249,13 +62026,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "401": { @@ -56266,12 +62043,12 @@ "https" ], "tags": [ - "batch_v1" + "discovery_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, @@ -56279,15 +62056,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified CronJob", - "operationId": "replaceBatchV1NamespacedCronJob", + "description": "replace the specified EndpointSlice", + "operationId": "replaceDiscoveryV1NamespacedEndpointSlice", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, { @@ -56317,13 +62094,126 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "discovery_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "discovery.k8s.io", + "kind": "EndpointSlice", + "version": "v1" + } + } + }, + "/apis/discovery.k8s.io/v1/watch/endpointslices": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchDiscoveryV1EndpointSliceListForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "discovery_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "discovery.k8s.io", + "kind": "EndpointSlice", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchDiscoveryV1NamespacedEndpointSliceList", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -56334,33 +62224,73 @@ "https" ], "tags": [ - "batch_v1" + "discovery_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status": { + "/apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified CronJob", - "operationId": "readBatchV1NamespacedCronJobStatus", + "description": "watch changes to an object of kind EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchDiscoveryV1NamespacedEndpointSlice", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -56371,18 +62301,33 @@ "https" ], "tags": [ - "batch_v1" + "discovery_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "discovery.k8s.io", + "kind": "EndpointSlice", "version": "v1" } }, "parameters": [ { - "description": "name of the CronJob", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the EndpointSlice", "in": "path", "name": "name", "required": true, @@ -56394,42 +62339,33 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/events.k8s.io/": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified CronJob", - "operationId": "patchBatchV1NamespacedCronJobStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get information of a group", + "operationId": "getEventsAPIGroup", "produces": [ "application/json", "application/yaml", @@ -56439,13 +62375,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -56456,64 +62386,62 @@ "https" ], "tags": [ - "batch_v1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", - "version": "v1" - } - }, - "put": { + "events" + ] + } + }, + "/apis/events.k8s.io/v1/": { + "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], - "description": "replace status of the specified CronJob", - "operationId": "replaceBatchV1NamespacedCronJobStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, + "description": "get available resources", + "operationId": "getEventsV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "events_v1" + ] + } + }, + "/apis/events.k8s.io/v1/events": { + "get": { + "consumes": [ + "*/*" ], + "description": "list or watch objects of kind Event", + "operationId": "listEventsV1EventForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.CronJob" + "$ref": "#/definitions/io.k8s.api.events.v1.EventList" } }, "401": { @@ -56524,23 +62452,58 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/batch/v1/namespaces/{namespace}/jobs": { + "/apis/events.k8s.io/v1/namespaces/{namespace}/events": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of Job", - "operationId": "deleteBatchV1CollectionNamespacedJob", + "description": "delete collection of Event", + "operationId": "deleteEventsV1CollectionNamespacedEvent", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -56609,12 +62572,12 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, @@ -56622,8 +62585,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind Job", - "operationId": "listBatchV1NamespacedJob", + "description": "list or watch objects of kind Event", + "operationId": "listEventsV1NamespacedEvent", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -56667,7 +62630,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.JobList" + "$ref": "#/definitions/io.k8s.api.events.v1.EventList" } }, "401": { @@ -56678,12 +62641,12 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, @@ -56699,15 +62662,15 @@ "consumes": [ "*/*" ], - "description": "create a Job", - "operationId": "createBatchV1NamespacedJob", + "description": "create an Event", + "operationId": "createEventsV1NamespacedEvent", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, { @@ -56737,19 +62700,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "401": { @@ -56760,216 +62723,26 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } } }, - "/apis/batch/v1/namespaces/{namespace}/jobs/{name}": { + "/apis/events.k8s.io/v1/namespaces/{namespace}/events/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a Job", - "operationId": "deleteBatchV1NamespacedJob", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "batch_v1" - ], - "x-kubernetes-action": "delete", - "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", - "version": "v1" - } - }, - "get": { - "consumes": [ - "*/*" - ], - "description": "read the specified Job", - "operationId": "readBatchV1NamespacedJob", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "batch_v1" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", - "version": "v1" - } - }, - "parameters": [ - { - "description": "name of the Job", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified Job", - "operationId": "patchBatchV1NamespacedJob", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "batch_v1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", - "version": "v1" - } - }, - "put": { - "consumes": [ - "*/*" - ], - "description": "replace the specified Job", - "operationId": "replaceBatchV1NamespacedJob", + "description": "delete an Event", + "operationId": "deleteEventsV1NamespacedEvent", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" - } + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -56979,14 +62752,16 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" } ], "produces": [ @@ -56998,13 +62773,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, - "201": { - "description": "Created", + "202": { + "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -57015,23 +62790,21 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } - } - }, - "/apis/batch/v1/namespaces/{namespace}/jobs/{name}/status": { + }, "get": { "consumes": [ "*/*" ], - "description": "read status of the specified Job", - "operationId": "readBatchV1NamespacedJobStatus", + "description": "read the specified Event", + "operationId": "readEventsV1NamespacedEvent", "produces": [ "application/json", "application/yaml", @@ -57041,7 +62814,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "401": { @@ -57052,18 +62825,18 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, "parameters": [ { - "description": "name of the Job", + "description": "name of the Event", "in": "path", "name": "name", "required": true, @@ -57084,8 +62857,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified Job", - "operationId": "patchBatchV1NamespacedJobStatus", + "description": "partially update the specified Event", + "operationId": "patchEventsV1NamespacedEvent", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -57120,13 +62893,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "401": { @@ -57137,12 +62910,12 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, @@ -57150,15 +62923,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified Job", - "operationId": "replaceBatchV1NamespacedJobStatus", + "description": "replace the specified Event", + "operationId": "replaceEventsV1NamespacedEvent", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, { @@ -57188,13 +62961,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.batch.v1.Job" + "$ref": "#/definitions/io.k8s.api.events.v1.Event" } }, "401": { @@ -57205,23 +62978,23 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } } }, - "/apis/batch/v1/watch/cronjobs": { + "/apis/events.k8s.io/v1/watch/events": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of CronJob. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchBatchV1CronJobListForAllNamespaces", + "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchEventsV1EventListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -57244,12 +63017,12 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, @@ -57289,13 +63062,13 @@ } ] }, - "/apis/batch/v1/watch/jobs": { + "/apis/events.k8s.io/v1/watch/namespaces/{namespace}/events": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Job. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchBatchV1JobListForAllNamespaces", + "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchEventsV1NamespacedEventList", "produces": [ "application/json", "application/yaml", @@ -57318,12 +63091,12 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, @@ -57343,6 +63116,9 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -57363,13 +63139,13 @@ } ] }, - "/apis/batch/v1/watch/namespaces/{namespace}/cronjobs": { + "/apis/events.k8s.io/v1/watch/namespaces/{namespace}/events/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of CronJob. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchBatchV1NamespacedCronJobList", + "description": "watch changes to an object of kind Event. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchEventsV1NamespacedEvent", "produces": [ "application/json", "application/yaml", @@ -57392,12 +63168,12 @@ "https" ], "tags": [ - "batch_v1" + "events_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "events.k8s.io", + "kind": "Event", "version": "v1" } }, @@ -57417,6 +63193,14 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the Event", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, @@ -57440,25 +63224,137 @@ } ] }, - "/apis/batch/v1/watch/namespaces/{namespace}/cronjobs/{name}": { + "/apis/flowcontrol.apiserver.k8s.io/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get information of a group", + "operationId": "getFlowcontrolApiserverAPIGroup", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver" + ] + } + }, + "/apis/flowcontrol.apiserver.k8s.io/v1/": { "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getFlowcontrolApiserverV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver_v1" + ] + } + }, + "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas": { + "delete": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind CronJob. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchBatchV1NamespacedCronJob", + "description": "delete collection of FlowSchema", + "operationId": "deleteFlowcontrolApiserverV1CollectionFlowSchema", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -57469,69 +63365,53 @@ "https" ], "tags": [ - "batch_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "CronJob", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the CronJob", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/batch/v1/watch/namespaces/{namespace}/jobs": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Job. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchBatchV1NamespacedJobList", + "description": "list or watch objects of kind FlowSchema", + "operationId": "listFlowcontrolApiserverV1FlowSchema", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", @@ -57543,7 +63423,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchemaList" } }, "401": { @@ -57554,73 +63434,177 @@ "https" ], "tags": [ - "batch_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a FlowSchema", + "operationId": "createFlowcontrolApiserverV1FlowSchema", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", + "version": "v1" + } + } + }, + "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete a FlowSchema", + "operationId": "deleteFlowcontrolApiserverV1FlowSchema", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "schemes": [ + "https" + ], + "tags": [ + "flowcontrolApiserver_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", + "version": "v1" } - ] - }, - "/apis/batch/v1/watch/namespaces/{namespace}/jobs/{name}": { + }, "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind Job. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchBatchV1NamespacedJob", + "description": "read the specified FlowSchema", + "operationId": "readFlowcontrolApiserverV1FlowSchema", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -57631,71 +63615,62 @@ "https" ], "tags": [ - "batch_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "batch", - "kind": "Job", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the Job", + "description": "name of the FlowSchema", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/certificates.k8s.io/": { - "get": { + ], + "patch": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified FlowSchema", + "operationId": "patchFlowcontrolApiserverV1FlowSchema", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "get information of a group", - "operationId": "getCertificatesAPIGroup", "produces": [ "application/json", "application/yaml", @@ -57705,7 +63680,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -57716,19 +63697,48 @@ "https" ], "tags": [ - "certificates" - ] - } - }, - "/apis/certificates.k8s.io/v1/": { - "get": { + "flowcontrolApiserver_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", + "version": "v1" + } + }, + "put": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" + ], + "description": "replace the specified FlowSchema", + "operationId": "replaceFlowcontrolApiserverV1FlowSchema", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } ], - "description": "get available resources", - "operationId": "getCertificatesV1APIResources", "produces": [ "application/json", "application/yaml", @@ -57738,7 +63748,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -57749,65 +63765,23 @@ "https" ], "tags": [ - "certificates_v1" - ] + "flowcontrolApiserver_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", + "version": "v1" + } } }, - "/apis/certificates.k8s.io/v1/certificatesigningrequests": { - "delete": { + "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}/status": { + "get": { "consumes": [ "*/*" ], - "description": "delete collection of CertificateSigningRequest", - "operationId": "deleteCertificatesV1CollectionCertificateSigningRequest", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], + "description": "read status of the specified FlowSchema", + "operationId": "readFlowcontrolApiserverV1FlowSchemaStatus", "produces": [ "application/json", "application/yaml", @@ -57817,7 +63791,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -57828,65 +63802,78 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", "version": "v1" } }, - "get": { + "parameters": [ + { + "description": "name of the FlowSchema", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" ], - "description": "list or watch objects of kind CertificateSigningRequest", - "operationId": "listCertificatesV1CertificateSigningRequest", + "description": "partially update status of the specified FlowSchema", + "operationId": "patchFlowcontrolApiserverV1FlowSchemaStatus", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" + "$ref": "#/parameters/body-78PwaGsr" }, { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/watch-XNNPZGbK" + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequestList" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -57897,33 +63884,28 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { + "put": { "consumes": [ "*/*" ], - "description": "create a CertificateSigningRequest", - "operationId": "createCertificatesV1CertificateSigningRequest", + "description": "replace status of the specified FlowSchema", + "operationId": "replaceFlowcontrolApiserverV1FlowSchemaStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, { @@ -57953,19 +63935,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" } }, "401": { @@ -57976,27 +63952,30 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", "version": "v1" } } }, - "/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}": { + "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations": { "delete": { "consumes": [ "*/*" ], - "description": "delete a CertificateSigningRequest", - "operationId": "deleteCertificatesV1CertificateSigningRequest", + "description": "delete collection of PriorityLevelConfiguration", + "operationId": "deleteFlowcontrolApiserverV1CollectionPriorityLevelConfiguration", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", "in": "query", @@ -58004,17 +63983,38 @@ "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, { "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, { "$ref": "#/parameters/orphanDependents-uRB25kX5" }, { "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" } ], "produces": [ @@ -58029,12 +64029,6 @@ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, "401": { "description": "Unauthorized" } @@ -58043,12 +64037,12 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } }, @@ -58056,18 +64050,52 @@ "consumes": [ "*/*" ], - "description": "read the specified CertificateSigningRequest", - "operationId": "readCertificatesV1CertificateSigningRequest", + "description": "list or watch objects of kind PriorityLevelConfiguration", + "operationId": "listFlowcontrolApiserverV1PriorityLevelConfiguration", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfigurationList" } }, "401": { @@ -58078,40 +64106,34 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } }, "parameters": [ - { - "description": "name of the CertificateSigningRequest", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "patch": { + "post": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" + "*/*" ], - "description": "partially update the specified CertificateSigningRequest", - "operationId": "patchCertificatesV1CertificateSigningRequest", + "description": "create a PriorityLevelConfiguration", + "operationId": "createFlowcontrolApiserverV1PriorityLevelConfiguration", "parameters": [ { - "$ref": "#/parameters/body-78PwaGsr" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + } }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -58121,7 +64143,7 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-7c6nTn1T" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", @@ -58129,9 +64151,6 @@ "name": "fieldValidation", "type": "string", "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -58143,13 +64162,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -58160,29 +64185,26 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } - }, - "put": { + } + }, + "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "replace the specified CertificateSigningRequest", - "operationId": "replaceCertificatesV1CertificateSigningRequest", + "description": "delete a PriorityLevelConfiguration", + "operationId": "deleteFlowcontrolApiserverV1PriorityLevelConfiguration", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" - } + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -58192,14 +64214,16 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" } ], "produces": [ @@ -58211,13 +64235,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, - "201": { - "description": "Created", + "202": { + "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -58228,23 +64252,21 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } - } - }, - "/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/approval": { + }, "get": { "consumes": [ "*/*" ], - "description": "read approval of the specified CertificateSigningRequest", - "operationId": "readCertificatesV1CertificateSigningRequestApproval", + "description": "read the specified PriorityLevelConfiguration", + "operationId": "readFlowcontrolApiserverV1PriorityLevelConfiguration", "produces": [ "application/json", "application/yaml", @@ -58254,7 +64276,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -58265,18 +64287,18 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } }, "parameters": [ { - "description": "name of the CertificateSigningRequest", + "description": "name of the PriorityLevelConfiguration", "in": "path", "name": "name", "required": true, @@ -58294,8 +64316,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update approval of the specified CertificateSigningRequest", - "operationId": "patchCertificatesV1CertificateSigningRequestApproval", + "description": "partially update the specified PriorityLevelConfiguration", + "operationId": "patchFlowcontrolApiserverV1PriorityLevelConfiguration", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -58330,13 +64352,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -58347,12 +64369,12 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } }, @@ -58360,15 +64382,15 @@ "consumes": [ "*/*" ], - "description": "replace approval of the specified CertificateSigningRequest", - "operationId": "replaceCertificatesV1CertificateSigningRequestApproval", + "description": "replace the specified PriorityLevelConfiguration", + "operationId": "replaceFlowcontrolApiserverV1PriorityLevelConfiguration", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, { @@ -58398,13 +64420,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -58415,23 +64437,23 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } } }, - "/apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/status": { + "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified CertificateSigningRequest", - "operationId": "readCertificatesV1CertificateSigningRequestStatus", + "description": "read status of the specified PriorityLevelConfiguration", + "operationId": "readFlowcontrolApiserverV1PriorityLevelConfigurationStatus", "produces": [ "application/json", "application/yaml", @@ -58441,7 +64463,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -58452,18 +64474,18 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } }, "parameters": [ { - "description": "name of the CertificateSigningRequest", + "description": "name of the PriorityLevelConfiguration", "in": "path", "name": "name", "required": true, @@ -58481,8 +64503,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified CertificateSigningRequest", - "operationId": "patchCertificatesV1CertificateSigningRequestStatus", + "description": "partially update status of the specified PriorityLevelConfiguration", + "operationId": "patchFlowcontrolApiserverV1PriorityLevelConfigurationStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -58517,13 +64539,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -58534,12 +64556,12 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } }, @@ -58547,15 +64569,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified CertificateSigningRequest", - "operationId": "replaceCertificatesV1CertificateSigningRequestStatus", + "description": "replace status of the specified PriorityLevelConfiguration", + "operationId": "replaceFlowcontrolApiserverV1PriorityLevelConfigurationStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, { @@ -58585,13 +64607,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.certificates.v1.CertificateSigningRequest" + "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" } }, "401": { @@ -58602,23 +64624,23 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } } }, - "/apis/certificates.k8s.io/v1/watch/certificatesigningrequests": { + "/apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of CertificateSigningRequest. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCertificatesV1CertificateSigningRequestList", + "description": "watch individual changes to a list of FlowSchema. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchFlowcontrolApiserverV1FlowSchemaList", "produces": [ "application/json", "application/yaml", @@ -58641,12 +64663,12 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", "version": "v1" } }, @@ -58686,13 +64708,13 @@ } ] }, - "/apis/certificates.k8s.io/v1/watch/certificatesigningrequests/{name}": { + "/apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind CertificateSigningRequest. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCertificatesV1CertificateSigningRequest", + "description": "watch changes to an object of kind FlowSchema. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchFlowcontrolApiserverV1FlowSchema", "produces": [ "application/json", "application/yaml", @@ -58715,12 +64737,12 @@ "https" ], "tags": [ - "certificates_v1" + "flowcontrolApiserver_v1" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "certificates.k8s.io", - "kind": "CertificateSigningRequest", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "FlowSchema", "version": "v1" } }, @@ -58741,7 +64763,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the CertificateSigningRequest", + "description": "name of the FlowSchema", "in": "path", "name": "name", "required": true, @@ -58768,25 +64790,25 @@ } ] }, - "/apis/coordination.k8s.io/": { + "/apis/flowcontrol.apiserver.k8s.io/v1/watch/prioritylevelconfigurations": { "get": { "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "*/*" ], - "description": "get information of a group", - "operationId": "getCoordinationAPIGroup", + "description": "watch individual changes to a list of PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchFlowcontrolApiserverV1PriorityLevelConfigurationList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -58797,50 +64819,58 @@ "https" ], "tags": [ - "coordination" - ] - } - }, - "/apis/coordination.k8s.io/v1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get available resources", - "operationId": "getCoordinationV1APIResources", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "flowcontrolApiserver_v1" ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" - } - }, - "401": { - "description": "Unauthorized" - } + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, - "schemes": [ - "https" - ], - "tags": [ - "coordination_v1" - ] - } + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/coordination.k8s.io/v1/leases": { + "/apis/flowcontrol.apiserver.k8s.io/v1/watch/prioritylevelconfigurations/{name}": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Lease", - "operationId": "listCoordinationV1LeaseForAllNamespaces", + "description": "watch changes to an object of kind PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchFlowcontrolApiserverV1PriorityLevelConfiguration", "produces": [ "application/json", "application/yaml", @@ -58852,7 +64882,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.LeaseList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -58863,12 +64893,12 @@ "https" ], "tags": [ - "coordination_v1" + "flowcontrolApiserver_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", + "group": "flowcontrol.apiserver.k8s.io", + "kind": "PriorityLevelConfiguration", "version": "v1" } }, @@ -58888,6 +64918,14 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the PriorityLevelConfiguration", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -58908,48 +64946,30 @@ } ] }, - "/apis/coordination.k8s.io/v1/namespaces/{namespace}/leases": { + "/apis/gateway.networking.k8s.io/v1/gatewayclasses": { "delete": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "delete collection of Lease", - "operationId": "deleteCoordinationV1CollectionNamespacedLease", + "description": "delete collection of GatewayClass", + "operationId": "deleteGatewayNetworkingV1CollectionGatewayClass", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { "$ref": "#/parameters/continue-QfD61s0i" }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -58961,12 +64981,14 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { @@ -58983,21 +65005,22 @@ "https" ], "tags": [ - "coordination_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", "version": "v1" } }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "list or watch objects of kind Lease", - "operationId": "listCoordinationV1NamespacedLease", + "description": "list objects of kind GatewayClass", + "operationId": "listGatewayNetworkingV1GatewayClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -59027,21 +65050,204 @@ "$ref": "#/parameters/timeoutSeconds-yvYezaOC" }, { - "$ref": "#/parameters/watch-XNNPZGbK" + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClassList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "gatewayNetworking_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "application/json", + "application/yaml" + ], + "description": "create a GatewayClass", + "operationId": "createGatewayNetworkingV1GatewayClass", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "gatewayNetworking_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1" + } + } + }, + "/apis/gateway.networking.k8s.io/v1/gatewayclasses/{name}": { + "delete": { + "consumes": [ + "application/json", + "application/yaml" + ], + "description": "delete a GatewayClass", + "operationId": "deleteGatewayNetworkingV1GatewayClass", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "gatewayNetworking_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1" + } + }, + "get": { + "consumes": [ + "application/json", + "application/yaml" + ], + "description": "read the specified GatewayClass", + "operationId": "readGatewayNetworkingV1GatewayClass", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" } ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.LeaseList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" } }, "401": { @@ -59052,37 +65258,39 @@ "https" ], "tags": [ - "coordination_v1" + "gatewayNetworking_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/namespace-vgWSWtn3" + "description": "name of the GatewayClass", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "post": { + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/apply-patch+yaml" ], - "description": "create a Lease", - "operationId": "createCoordinationV1NamespacedLease", + "description": "partially update the specified GatewayClass", + "operationId": "patchGatewayNetworkingV1GatewayClass", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" - } + "$ref": "#/parameters/body-78PwaGsr" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -59092,7 +65300,7 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", @@ -59100,30 +65308,20 @@ "name": "fieldValidation", "type": "string", "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" } }, "401": { @@ -59134,26 +65332,30 @@ "https" ], "tags": [ - "coordination_v1" + "gatewayNetworking_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", "version": "v1" } - } - }, - "/apis/coordination.k8s.io/v1/namespaces/{namespace}/leases/{name}": { - "delete": { + }, + "put": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "delete a Lease", - "operationId": "deleteCoordinationV1NamespacedLease", + "description": "replace the specified GatewayClass", + "operationId": "replaceGatewayNetworkingV1GatewayClass", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + } }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -59163,34 +65365,31 @@ "uniqueItems": true }, { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" } }, - "202": { - "description": "Accepted", + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" } }, "401": { @@ -59201,31 +65400,38 @@ "https" ], "tags": [ - "coordination_v1" + "gatewayNetworking_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", "version": "v1" } - }, + } + }, + "/apis/gateway.networking.k8s.io/v1/gatewayclasses/{name}/status": { "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" + ], + "description": "read status of the specified GatewayClass", + "operationId": "readGatewayNetworkingV1GatewayClassStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + } ], - "description": "read the specified Lease", - "operationId": "readCoordinationV1NamespacedLease", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" } }, "401": { @@ -59236,27 +65442,24 @@ "https" ], "tags": [ - "coordination_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", "version": "v1" } }, "parameters": [ { - "description": "name of the Lease", + "description": "name of the GatewayClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -59265,11 +65468,10 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", - "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified Lease", - "operationId": "patchCoordinationV1NamespacedLease", + "description": "partially update status of the specified GatewayClass", + "operationId": "patchGatewayNetworkingV1GatewayClassStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -59297,20 +65499,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" } }, "401": { @@ -59321,28 +65516,29 @@ "https" ], "tags": [ - "coordination_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", "version": "v1" } }, "put": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "replace the specified Lease", - "operationId": "replaceCoordinationV1NamespacedLease", + "description": "replace status of the specified GatewayClass", + "operationId": "replaceGatewayNetworkingV1GatewayClassStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" } }, { @@ -59365,20 +65561,19 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.coordination.v1.Lease" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" } }, "401": { @@ -59389,109 +65584,33 @@ "https" ], "tags": [ - "coordination_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", "version": "v1" } } }, - "/apis/coordination.k8s.io/v1/watch/leases": { + "/apis/gateway.networking.k8s.io/v1/gateways": { "get": { "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of Lease. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoordinationV1LeaseListForAllNamespaces", - "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "coordination_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/coordination.k8s.io/v1/watch/namespaces/{namespace}/leases": { - "get": { - "consumes": [ - "*/*" + "application/yaml" ], - "description": "watch individual changes to a list of Lease. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchCoordinationV1NamespacedLeaseList", + "description": "list objects of kind Gateway", + "operationId": "listGatewayNetworkingV1GatewayForAllNamespaces", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayList" } }, "401": { @@ -59502,12 +65621,12 @@ "https" ], "tags": [ - "coordination_v1" + "gatewayNetworking_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } }, @@ -59527,9 +65646,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -59550,25 +65666,23 @@ } ] }, - "/apis/coordination.k8s.io/v1/watch/namespaces/{namespace}/leases/{name}": { + "/apis/gateway.networking.k8s.io/v1/grpcroutes": { "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "watch changes to an object of kind Lease. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchCoordinationV1NamespacedLease", + "description": "list objects of kind GRPCRoute", + "operationId": "listGatewayNetworkingV1GRPCRouteForAllNamespaces", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRouteList" } }, "401": { @@ -59579,12 +65693,12 @@ "https" ], "tags": [ - "coordination_v1" + "gatewayNetworking_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "coordination.k8s.io", - "kind": "Lease", + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", "version": "v1" } }, @@ -59604,17 +65718,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "description": "name of the Lease", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -59635,91 +65738,23 @@ } ] }, - "/apis/discovery.k8s.io/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getDiscoveryAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "discovery" - ] - } - }, - "/apis/discovery.k8s.io/v1/": { + "/apis/gateway.networking.k8s.io/v1/httproutes": { "get": { "consumes": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get available resources", - "operationId": "getDiscoveryV1APIResources", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "discovery_v1" - ] - } - }, - "/apis/discovery.k8s.io/v1/endpointslices": { - "get": { - "consumes": [ - "*/*" + "application/yaml" ], - "description": "list or watch objects of kind EndpointSlice", - "operationId": "listDiscoveryV1EndpointSliceForAllNamespaces", + "description": "list objects of kind HTTPRoute", + "operationId": "listGatewayNetworkingV1HTTPRouteForAllNamespaces", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSliceList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRouteList" } }, "401": { @@ -59730,12 +65765,12 @@ "https" ], "tags": [ - "discovery_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } }, @@ -59775,48 +65810,30 @@ } ] }, - "/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices": { + "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways": { "delete": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "delete collection of EndpointSlice", - "operationId": "deleteDiscoveryV1CollectionNamespacedEndpointSlice", + "description": "delete collection of Gateway", + "operationId": "deleteGatewayNetworkingV1CollectionNamespacedGateway", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { "$ref": "#/parameters/continue-QfD61s0i" }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -59828,12 +65845,14 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { @@ -59850,21 +65869,22 @@ "https" ], "tags": [ - "discovery_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "list or watch objects of kind EndpointSlice", - "operationId": "listDiscoveryV1NamespacedEndpointSlice", + "description": "list objects of kind Gateway", + "operationId": "listGatewayNetworkingV1NamespacedGateway", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -59899,16 +65919,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSliceList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayList" } }, "401": { @@ -59919,12 +65936,12 @@ "https" ], "tags": [ - "discovery_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } }, @@ -59938,17 +65955,18 @@ ], "post": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "create an EndpointSlice", - "operationId": "createDiscoveryV1NamespacedEndpointSlice", + "description": "create a Gateway", + "operationId": "createGatewayNetworkingV1NamespacedGateway", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, { @@ -59971,26 +65989,25 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, "401": { @@ -60001,23 +66018,24 @@ "https" ], "tags": [ - "discovery_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } } }, - "/apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}": { + "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways/{name}": { "delete": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "delete an EndpointSlice", - "operationId": "deleteDiscoveryV1NamespacedEndpointSlice", + "description": "delete a Gateway", + "operationId": "deleteGatewayNetworkingV1NamespacedGateway", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -60044,8 +66062,7 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { @@ -60068,31 +66085,36 @@ "https" ], "tags": [ - "discovery_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" + ], + "description": "read the specified Gateway", + "operationId": "readGatewayNetworkingV1NamespacedGateway", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + } ], - "description": "read the specified EndpointSlice", - "operationId": "readDiscoveryV1NamespacedEndpointSlice", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, "401": { @@ -60103,18 +66125,18 @@ "https" ], "tags": [ - "discovery_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } }, "parameters": [ { - "description": "name of the EndpointSlice", + "description": "name of the Gateway", "in": "path", "name": "name", "required": true, @@ -60132,11 +66154,10 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", - "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified EndpointSlice", - "operationId": "patchDiscoveryV1NamespacedEndpointSlice", + "description": "partially update the specified Gateway", + "operationId": "patchGatewayNetworkingV1NamespacedGateway", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -60164,20 +66185,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, "401": { @@ -60188,28 +66202,29 @@ "https" ], "tags": [ - "discovery_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } }, "put": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "replace the specified EndpointSlice", - "operationId": "replaceDiscoveryV1NamespacedEndpointSlice", + "description": "replace the specified Gateway", + "operationId": "replaceGatewayNetworkingV1NamespacedGateway", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, { @@ -60232,20 +66247,19 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointSlice" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, "401": { @@ -60256,109 +66270,38 @@ "https" ], "tags": [ - "discovery_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } } }, - "/apis/discovery.k8s.io/v1/watch/endpointslices": { + "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways/{name}/status": { "get": { "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchDiscoveryV1EndpointSliceListForAllNamespaces", - "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" + "description": "read status of the specified Gateway", + "operationId": "readGatewayNetworkingV1NamespacedGatewayStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" } - }, - "schemes": [ - "https" - ], - "tags": [ - "discovery_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices": { - "get": { - "consumes": [ - "*/*" ], - "description": "watch individual changes to a list of EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchDiscoveryV1NamespacedEndpointSliceList", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, "401": { @@ -60369,73 +66312,73 @@ "https" ], "tags": [ - "discovery_v1" + "gatewayNetworking_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "description": "name of the Gateway", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/discovery.k8s.io/v1/watch/namespaces/{namespace}/endpointslices/{name}": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified Gateway", + "operationId": "patchGatewayNetworkingV1NamespacedGatewayStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch changes to an object of kind EndpointSlice. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchDiscoveryV1NamespacedEndpointSlice", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, "401": { @@ -60446,147 +66389,64 @@ "https" ], "tags": [ - "discovery_v1" + "gatewayNetworking_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "discovery.k8s.io", - "kind": "EndpointSlice", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the EndpointSlice", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/events.k8s.io/": { - "get": { + "put": { "consumes": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getEventsAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], - "responses": { - "200": { - "description": "OK", + "description": "replace status of the specified Gateway", + "operationId": "replaceGatewayNetworkingV1NamespacedGatewayStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, - "401": { - "description": "Unauthorized" + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } - }, - "schemes": [ - "https" - ], - "tags": [ - "events" - ] - } - }, - "/apis/events.k8s.io/v1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" ], - "description": "get available resources", - "operationId": "getEventsV1APIResources", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "events_v1" - ] - } - }, - "/apis/events.k8s.io/v1/events": { - "get": { - "consumes": [ - "*/*" - ], - "description": "list or watch objects of kind Event", - "operationId": "listEventsV1EventForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.EventList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" } }, "401": { @@ -60597,93 +66457,40 @@ "https" ], "tags": [ - "events_v1" + "gatewayNetworking_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "gateway.networking.k8s.io", + "kind": "Gateway", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/apis/events.k8s.io/v1/namespaces/{namespace}/events": { + "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes": { "delete": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "delete collection of Event", - "operationId": "deleteEventsV1CollectionNamespacedEvent", + "description": "delete collection of GRPCRoute", + "operationId": "deleteGatewayNetworkingV1CollectionNamespacedGRPCRoute", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { "$ref": "#/parameters/continue-QfD61s0i" }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -60695,12 +66502,14 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { @@ -60717,21 +66526,22 @@ "https" ], "tags": [ - "events_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", "version": "v1" } }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "list or watch objects of kind Event", - "operationId": "listEventsV1NamespacedEvent", + "description": "list objects of kind GRPCRoute", + "operationId": "listGatewayNetworkingV1NamespacedGRPCRoute", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -60766,16 +66576,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.EventList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRouteList" } }, "401": { @@ -60786,12 +66593,12 @@ "https" ], "tags": [ - "events_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", "version": "v1" } }, @@ -60805,17 +66612,18 @@ ], "post": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "create an Event", - "operationId": "createEventsV1NamespacedEvent", + "description": "create a GRPCRoute", + "operationId": "createGatewayNetworkingV1NamespacedGRPCRoute", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, { @@ -60838,26 +66646,25 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, "401": { @@ -60868,23 +66675,24 @@ "https" ], "tags": [ - "events_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", "version": "v1" } } }, - "/apis/events.k8s.io/v1/namespaces/{namespace}/events/{name}": { + "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes/{name}": { "delete": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "delete an Event", - "operationId": "deleteEventsV1NamespacedEvent", + "description": "delete a GRPCRoute", + "operationId": "deleteGatewayNetworkingV1NamespacedGRPCRoute", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -60911,8 +66719,7 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { @@ -60935,31 +66742,36 @@ "https" ], "tags": [ - "events_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", "version": "v1" } }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" + ], + "description": "read the specified GRPCRoute", + "operationId": "readGatewayNetworkingV1NamespacedGRPCRoute", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + } ], - "description": "read the specified Event", - "operationId": "readEventsV1NamespacedEvent", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, "401": { @@ -60970,18 +66782,18 @@ "https" ], "tags": [ - "events_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", "version": "v1" } }, "parameters": [ { - "description": "name of the Event", + "description": "name of the GRPCRoute", "in": "path", "name": "name", "required": true, @@ -60999,11 +66811,10 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", - "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified Event", - "operationId": "patchEventsV1NamespacedEvent", + "description": "partially update the specified GRPCRoute", + "operationId": "patchGatewayNetworkingV1NamespacedGRPCRoute", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -61031,20 +66842,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, "401": { @@ -61055,28 +66859,29 @@ "https" ], "tags": [ - "events_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", "version": "v1" } }, "put": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "replace the specified Event", - "operationId": "replaceEventsV1NamespacedEvent", + "description": "replace the specified GRPCRoute", + "operationId": "replaceGatewayNetworkingV1NamespacedGRPCRoute", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, { @@ -61099,20 +66904,19 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.events.v1.Event" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, "401": { @@ -61123,109 +66927,38 @@ "https" ], "tags": [ - "events_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", "version": "v1" } } }, - "/apis/events.k8s.io/v1/watch/events": { + "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes/{name}/status": { "get": { "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchEventsV1EventListForAllNamespaces", - "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" + "description": "read status of the specified GRPCRoute", + "operationId": "readGatewayNetworkingV1NamespacedGRPCRouteStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" } - }, - "schemes": [ - "https" - ], - "tags": [ - "events_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/events.k8s.io/v1/watch/namespaces/{namespace}/events": { - "get": { - "consumes": [ - "*/*" ], - "description": "watch individual changes to a list of Event. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchEventsV1NamespacedEventList", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, "401": { @@ -61236,73 +66969,73 @@ "https" ], "tags": [ - "events_v1" + "gatewayNetworking_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "description": "name of the GRPCRoute", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/events.k8s.io/v1/watch/namespaces/{namespace}/events/{name}": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified GRPCRoute", + "operationId": "patchGatewayNetworkingV1NamespacedGRPCRouteStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch changes to an object of kind Event. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchEventsV1NamespacedEvent", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, "401": { @@ -61313,114 +67046,64 @@ "https" ], "tags": [ - "events_v1" + "gatewayNetworking_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "events.k8s.io", - "kind": "Event", + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the Event", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/flowcontrol.apiserver.k8s.io/": { - "get": { + "put": { "consumes": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getFlowcontrolApiserverAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], - "responses": { - "200": { - "description": "OK", + "description": "replace status of the specified GRPCRoute", + "operationId": "replaceGatewayNetworkingV1NamespacedGRPCRouteStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, - "401": { - "description": "Unauthorized" + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } - }, - "schemes": [ - "https" - ], - "tags": [ - "flowcontrolApiserver" - ] - } - }, - "/apis/flowcontrol.apiserver.k8s.io/v1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" ], - "description": "get available resources", - "operationId": "getFlowcontrolApiserverV1APIResources", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" } }, "401": { @@ -61431,52 +67114,40 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" - ] + "gatewayNetworking_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "gateway.networking.k8s.io", + "kind": "GRPCRoute", + "version": "v1" + } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas": { + "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes": { "delete": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "delete collection of FlowSchema", - "operationId": "deleteFlowcontrolApiserverV1CollectionFlowSchema", + "description": "delete collection of HTTPRoute", + "operationId": "deleteGatewayNetworkingV1CollectionNamespacedHTTPRoute", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { "$ref": "#/parameters/continue-QfD61s0i" }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -61488,12 +67159,14 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { @@ -61510,21 +67183,22 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "list or watch objects of kind FlowSchema", - "operationId": "listFlowcontrolApiserverV1FlowSchema", + "description": "list objects of kind HTTPRoute", + "operationId": "listGatewayNetworkingV1NamespacedHTTPRoute", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -61559,16 +67233,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchemaList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRouteList" } }, "401": { @@ -61579,33 +67250,37 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], "post": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "create a FlowSchema", - "operationId": "createFlowcontrolApiserverV1FlowSchema", + "description": "create a HTTPRoute", + "operationId": "createGatewayNetworkingV1NamespacedHTTPRoute", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, { @@ -61628,26 +67303,25 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "401": { @@ -61658,23 +67332,24 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}": { + "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes/{name}": { "delete": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "delete a FlowSchema", - "operationId": "deleteFlowcontrolApiserverV1FlowSchema", + "description": "delete a HTTPRoute", + "operationId": "deleteGatewayNetworkingV1NamespacedHTTPRoute", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -61701,8 +67376,7 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { @@ -61725,31 +67399,36 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" + ], + "description": "read the specified HTTPRoute", + "operationId": "readGatewayNetworkingV1NamespacedHTTPRoute", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + } ], - "description": "read the specified FlowSchema", - "operationId": "readFlowcontrolApiserverV1FlowSchema", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "401": { @@ -61760,24 +67439,27 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } }, "parameters": [ { - "description": "name of the FlowSchema", + "description": "name of the HTTPRoute", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -61786,11 +67468,10 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", - "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified FlowSchema", - "operationId": "patchFlowcontrolApiserverV1FlowSchema", + "description": "partially update the specified HTTPRoute", + "operationId": "patchGatewayNetworkingV1NamespacedHTTPRoute", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -61818,20 +67499,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "401": { @@ -61842,28 +67516,29 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } }, "put": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "replace the specified FlowSchema", - "operationId": "replaceFlowcontrolApiserverV1FlowSchema", + "description": "replace the specified HTTPRoute", + "operationId": "replaceGatewayNetworkingV1NamespacedHTTPRoute", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, { @@ -61886,20 +67561,19 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "401": { @@ -61910,33 +67584,38 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/flowschemas/{name}/status": { + "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes/{name}/status": { "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" + ], + "description": "read status of the specified HTTPRoute", + "operationId": "readGatewayNetworkingV1NamespacedHTTPRouteStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + } ], - "description": "read status of the specified FlowSchema", - "operationId": "readFlowcontrolApiserverV1FlowSchemaStatus", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "401": { @@ -61947,24 +67626,27 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } }, "parameters": [ { - "description": "name of the FlowSchema", + "description": "name of the HTTPRoute", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -61973,11 +67655,10 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", - "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified FlowSchema", - "operationId": "patchFlowcontrolApiserverV1FlowSchemaStatus", + "description": "partially update status of the specified HTTPRoute", + "operationId": "patchGatewayNetworkingV1NamespacedHTTPRouteStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -62005,20 +67686,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "401": { @@ -62029,28 +67703,29 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } }, "put": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "replace status of the specified FlowSchema", - "operationId": "replaceFlowcontrolApiserverV1FlowSchemaStatus", + "description": "replace status of the specified HTTPRoute", + "operationId": "replaceGatewayNetworkingV1NamespacedHTTPRouteStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, { @@ -62073,20 +67748,19 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.FlowSchema" + "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" } }, "401": { @@ -62097,58 +67771,40 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", "version": "v1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations": { + "/apis/gateway.networking.k8s.io/v1beta1/gatewayclasses": { "delete": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "delete collection of PriorityLevelConfiguration", - "operationId": "deleteFlowcontrolApiserverV1CollectionPriorityLevelConfiguration", + "description": "delete collection of GatewayClass", + "operationId": "deleteGatewayNetworkingV1beta1CollectionGatewayClass", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { "$ref": "#/parameters/continue-QfD61s0i" }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -62160,12 +67816,14 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { @@ -62182,21 +67840,22 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1beta1" } }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "list or watch objects of kind PriorityLevelConfiguration", - "operationId": "listFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "list objects of kind GatewayClass", + "operationId": "listGatewayNetworkingV1beta1GatewayClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -62231,16 +67890,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfigurationList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClassList" } }, "401": { @@ -62251,13 +67907,13 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1beta1" } }, "parameters": [ @@ -62267,17 +67923,18 @@ ], "post": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "create a PriorityLevelConfiguration", - "operationId": "createFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "create a GatewayClass", + "operationId": "createGatewayNetworkingV1beta1GatewayClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, { @@ -62300,26 +67957,25 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "401": { @@ -62330,23 +67986,24 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1beta1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations/{name}": { + "/apis/gateway.networking.k8s.io/v1beta1/gatewayclasses/{name}": { "delete": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "delete a PriorityLevelConfiguration", - "operationId": "deleteFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "delete a GatewayClass", + "operationId": "deleteGatewayNetworkingV1beta1GatewayClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -62373,8 +68030,7 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { @@ -62397,31 +68053,36 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1beta1" } }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" + ], + "description": "read the specified GatewayClass", + "operationId": "readGatewayNetworkingV1beta1GatewayClass", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + } ], - "description": "read the specified PriorityLevelConfiguration", - "operationId": "readFlowcontrolApiserverV1PriorityLevelConfiguration", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "401": { @@ -62432,18 +68093,18 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1beta1" } }, "parameters": [ { - "description": "name of the PriorityLevelConfiguration", + "description": "name of the GatewayClass", "in": "path", "name": "name", "required": true, @@ -62458,11 +68119,10 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", - "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified PriorityLevelConfiguration", - "operationId": "patchFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "partially update the specified GatewayClass", + "operationId": "patchGatewayNetworkingV1beta1GatewayClass", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -62490,20 +68150,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "401": { @@ -62514,28 +68167,29 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1beta1" } }, "put": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "replace the specified PriorityLevelConfiguration", - "operationId": "replaceFlowcontrolApiserverV1PriorityLevelConfiguration", + "description": "replace the specified GatewayClass", + "operationId": "replaceGatewayNetworkingV1beta1GatewayClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, { @@ -62558,20 +68212,19 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "401": { @@ -62582,33 +68235,38 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1beta1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations/{name}/status": { + "/apis/gateway.networking.k8s.io/v1beta1/gatewayclasses/{name}/status": { "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" + ], + "description": "read status of the specified GatewayClass", + "operationId": "readGatewayNetworkingV1beta1GatewayClassStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + } ], - "description": "read status of the specified PriorityLevelConfiguration", - "operationId": "readFlowcontrolApiserverV1PriorityLevelConfigurationStatus", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "401": { @@ -62619,18 +68277,18 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1beta1" } }, "parameters": [ { - "description": "name of the PriorityLevelConfiguration", + "description": "name of the GatewayClass", "in": "path", "name": "name", "required": true, @@ -62645,11 +68303,10 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", - "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified PriorityLevelConfiguration", - "operationId": "patchFlowcontrolApiserverV1PriorityLevelConfigurationStatus", + "description": "partially update status of the specified GatewayClass", + "operationId": "patchGatewayNetworkingV1beta1GatewayClassStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -62677,20 +68334,13 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "401": { @@ -62701,28 +68351,29 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1beta1" } }, "put": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "replace status of the specified PriorityLevelConfiguration", - "operationId": "replaceFlowcontrolApiserverV1PriorityLevelConfigurationStatus", + "description": "replace status of the specified GatewayClass", + "operationId": "replaceGatewayNetworkingV1beta1GatewayClassStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, { @@ -62745,20 +68396,19 @@ ], "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.flowcontrol.v1.PriorityLevelConfiguration" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" } }, "401": { @@ -62769,35 +68419,33 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "GatewayClass", + "version": "v1beta1" } } }, - "/apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas": { + "/apis/gateway.networking.k8s.io/v1beta1/gateways": { "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "watch individual changes to a list of FlowSchema. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchFlowcontrolApiserverV1FlowSchemaList", + "description": "list objects of kind Gateway", + "operationId": "listGatewayNetworkingV1beta1GatewayForAllNamespaces", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayList" } }, "401": { @@ -62808,13 +68456,13 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "Gateway", + "version": "v1beta1" } }, "parameters": [ @@ -62853,25 +68501,23 @@ } ] }, - "/apis/flowcontrol.apiserver.k8s.io/v1/watch/flowschemas/{name}": { + "/apis/gateway.networking.k8s.io/v1beta1/httproutes": { "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" ], - "description": "watch changes to an object of kind FlowSchema. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchFlowcontrolApiserverV1FlowSchema", + "description": "list objects of kind HTTPRoute", + "operationId": "listGatewayNetworkingV1beta1HTTPRouteForAllNamespaces", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRouteList" } }, "401": { @@ -62882,13 +68528,13 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "FlowSchema", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "HTTPRoute", + "version": "v1beta1" } }, "parameters": [ @@ -62907,14 +68553,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "description": "name of the FlowSchema", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -62935,25 +68573,122 @@ } ] }, - "/apis/flowcontrol.apiserver.k8s.io/v1/watch/prioritylevelconfigurations": { + "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/gateways": { + "delete": { + "consumes": [ + "application/json", + "application/yaml" + ], + "description": "delete collection of Gateway", + "operationId": "deleteGatewayNetworkingV1beta1CollectionNamespacedGateway", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "gatewayNetworking_v1beta1" + ], + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "gateway.networking.k8s.io", + "kind": "Gateway", + "version": "v1beta1" + } + }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" + ], + "description": "list objects of kind Gateway", + "operationId": "listGatewayNetworkingV1beta1NamespacedGateway", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } ], - "description": "watch individual changes to a list of PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchFlowcontrolApiserverV1PriorityLevelConfigurationList", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayList" } }, "401": { @@ -62964,70 +68699,185 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "Gateway", + "version": "v1beta1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "application/json", + "application/yaml" + ], + "description": "create a Gateway", + "operationId": "createGatewayNetworkingV1beta1NamespacedGateway", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "schemes": [ + "https" + ], + "tags": [ + "gatewayNetworking_v1beta1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "gateway.networking.k8s.io", + "kind": "Gateway", + "version": "v1beta1" + } + } + }, + "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/gateways/{name}": { + "delete": { + "consumes": [ + "application/json", + "application/yaml" + ], + "description": "delete a Gateway", + "operationId": "deleteGatewayNetworkingV1beta1NamespacedGateway", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "schemes": [ + "https" + ], + "tags": [ + "gatewayNetworking_v1beta1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "gateway.networking.k8s.io", + "kind": "Gateway", + "version": "v1beta1" } - ] - }, - "/apis/flowcontrol.apiserver.k8s.io/v1/watch/prioritylevelconfigurations/{name}": { + }, "get": { "consumes": [ - "*/*" + "application/json", + "application/yaml" + ], + "description": "read the specified Gateway", + "operationId": "readGatewayNetworkingV1beta1NamespacedGateway", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + } ], - "description": "watch changes to an object of kind PriorityLevelConfiguration. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchFlowcontrolApiserverV1PriorityLevelConfiguration", "produces": [ "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/yaml" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" } }, "401": { @@ -63038,33 +68888,18 @@ "https" ], "tags": [ - "flowcontrolApiserver_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "flowcontrol.apiserver.k8s.io", - "kind": "PriorityLevelConfiguration", - "version": "v1" + "group": "gateway.networking.k8s.io", + "kind": "Gateway", + "version": "v1beta1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the PriorityLevelConfiguration", + "description": "name of the Gateway", "in": "path", "name": "name", "required": true, @@ -63072,63 +68907,43 @@ "uniqueItems": true }, { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { - "$ref": "#/parameters/watch-XNNPZGbK" + "$ref": "#/parameters/pretty-tJGM1-ng" } - ] - }, - "/apis/gateway.networking.k8s.io/v1/gatewayclasses": { - "delete": { + ], + "patch": { "consumes": [ - "application/json", - "application/yaml" + "application/json-patch+json", + "application/merge-patch+json", + "application/apply-patch+yaml" ], - "description": "delete collection of GatewayClass", - "operationId": "deleteGatewayNetworkingV1CollectionGatewayClass", + "description": "partially update the specified Gateway", + "operationId": "patchGatewayNetworkingV1beta1NamespacedGateway", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" + "$ref": "#/parameters/body-78PwaGsr" }, { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/watch-XNNPZGbK" + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -63139,7 +68954,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" } }, "401": { @@ -63150,52 +68965,172 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1" + "kind": "Gateway", + "version": "v1beta1" } }, - "get": { + "put": { "consumes": [ "application/json", "application/yaml" ], - "description": "list objects of kind GatewayClass", - "operationId": "listGatewayNetworkingV1GatewayClass", + "description": "replace the specified Gateway", + "operationId": "replaceGatewayNetworkingV1beta1NamespacedGateway", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + } }, { - "$ref": "#/parameters/continue-QfD61s0i" + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { - "$ref": "#/parameters/labelSelector-5Zw57w4C" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + } }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + } }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "gatewayNetworking_v1beta1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "gateway.networking.k8s.io", + "kind": "Gateway", + "version": "v1beta1" + } + } + }, + "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/gateways/{name}/status": { + "get": { + "consumes": [ + "application/json", + "application/yaml" + ], + "description": "read status of the specified Gateway", + "operationId": "readGatewayNetworkingV1beta1NamespacedGatewayStatus", + "parameters": [ { "$ref": "#/parameters/resourceVersion-5WAnf1kx" + } + ], + "produces": [ + "application/json", + "application/yaml" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "gatewayNetworking_v1beta1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "gateway.networking.k8s.io", + "kind": "Gateway", + "version": "v1beta1" + } + }, + "parameters": [ + { + "description": "name of the Gateway", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified Gateway", + "operationId": "patchGatewayNetworkingV1beta1NamespacedGatewayStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" }, { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/watch-XNNPZGbK" + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -63206,7 +69141,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClassList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" } }, "401": { @@ -63217,34 +69152,29 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1" + "kind": "Gateway", + "version": "v1beta1" } }, - "parameters": [ - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { + "put": { "consumes": [ "application/json", "application/yaml" ], - "description": "create a GatewayClass", - "operationId": "createGatewayNetworkingV1GatewayClass", + "description": "replace status of the specified Gateway", + "operationId": "replaceGatewayNetworkingV1beta1NamespacedGatewayStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" } }, { @@ -63273,19 +69203,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" } }, "401": { @@ -63296,46 +69220,54 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1" + "kind": "Gateway", + "version": "v1beta1" } } }, - "/apis/gateway.networking.k8s.io/v1/gatewayclasses/{name}": { + "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/httproutes": { "delete": { "consumes": [ "application/json", "application/yaml" ], - "description": "delete a GatewayClass", - "operationId": "deleteGatewayNetworkingV1GatewayClass", + "description": "delete collection of HTTPRoute", + "operationId": "deleteGatewayNetworkingV1beta1CollectionNamespacedHTTPRoute", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/continue-QfD61s0i" }, { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { - "$ref": "#/parameters/orphanDependents-uRB25kX5" + "$ref": "#/parameters/limit-1NfNmdNH" }, { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ @@ -63349,12 +69281,6 @@ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, "401": { "description": "Unauthorized" } @@ -63363,13 +69289,13 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1" + "kind": "HTTPRoute", + "version": "v1beta1" } }, "get": { @@ -63377,11 +69303,38 @@ "application/json", "application/yaml" ], - "description": "read the specified GatewayClass", - "operationId": "readGatewayNetworkingV1GatewayClass", + "description": "list objects of kind HTTPRoute", + "operationId": "listGatewayNetworkingV1beta1NamespacedHTTPRoute", "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ @@ -63392,7 +69345,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRouteList" } }, "401": { @@ -63403,39 +69356,38 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1" + "kind": "HTTPRoute", + "version": "v1beta1" } }, "parameters": [ { - "description": "name of the GatewayClass", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "patch": { + "post": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/apply-patch+yaml" + "application/json", + "application/yaml" ], - "description": "partially update the specified GatewayClass", - "operationId": "patchGatewayNetworkingV1GatewayClass", + "description": "create a HTTPRoute", + "operationId": "createGatewayNetworkingV1beta1NamespacedHTTPRoute", "parameters": [ { - "$ref": "#/parameters/body-78PwaGsr" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + } }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -63445,7 +69397,7 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-7c6nTn1T" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", @@ -63453,9 +69405,6 @@ "name": "fieldValidation", "type": "string", "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -63466,7 +69415,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" } }, "401": { @@ -63477,30 +69438,27 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1" + "kind": "HTTPRoute", + "version": "v1beta1" } - }, - "put": { + } + }, + "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/httproutes/{name}": { + "delete": { "consumes": [ "application/json", "application/yaml" ], - "description": "replace the specified GatewayClass", - "operationId": "replaceGatewayNetworkingV1GatewayClass", + "description": "delete a HTTPRoute", + "operationId": "deleteGatewayNetworkingV1beta1NamespacedHTTPRoute", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" - } + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -63510,14 +69468,16 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" } ], "produces": [ @@ -63528,13 +69488,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, - "201": { - "description": "Created", + "202": { + "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -63545,24 +69505,22 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1" - } - } - }, - "/apis/gateway.networking.k8s.io/v1/gatewayclasses/{name}/status": { + "kind": "HTTPRoute", + "version": "v1beta1" + } + }, "get": { "consumes": [ "application/json", "application/yaml" ], - "description": "read status of the specified GatewayClass", - "operationId": "readGatewayNetworkingV1GatewayClassStatus", + "description": "read the specified HTTPRoute", + "operationId": "readGatewayNetworkingV1beta1NamespacedHTTPRoute", "parameters": [ { "$ref": "#/parameters/resourceVersion-5WAnf1kx" @@ -63576,7 +69534,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" } }, "401": { @@ -63587,24 +69545,27 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1" + "kind": "HTTPRoute", + "version": "v1beta1" } }, "parameters": [ { - "description": "name of the GatewayClass", + "description": "name of the HTTPRoute", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -63615,8 +69576,8 @@ "application/merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified GatewayClass", - "operationId": "patchGatewayNetworkingV1GatewayClassStatus", + "description": "partially update the specified HTTPRoute", + "operationId": "patchGatewayNetworkingV1beta1NamespacedHTTPRoute", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -63650,7 +69611,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" } }, "401": { @@ -63661,13 +69622,13 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1" + "kind": "HTTPRoute", + "version": "v1beta1" } }, "put": { @@ -63675,15 +69636,15 @@ "application/json", "application/yaml" ], - "description": "replace status of the specified GatewayClass", - "operationId": "replaceGatewayNetworkingV1GatewayClassStatus", + "description": "replace the specified HTTPRoute", + "operationId": "replaceGatewayNetworkingV1beta1NamespacedHTTPRoute", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" } }, { @@ -63712,13 +69673,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayClass" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" } }, "401": { @@ -63729,24 +69690,29 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1" + "kind": "HTTPRoute", + "version": "v1beta1" } } }, - "/apis/gateway.networking.k8s.io/v1/gateways": { + "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/httproutes/{name}/status": { "get": { "consumes": [ "application/json", "application/yaml" ], - "description": "list objects of kind Gateway", - "operationId": "listGatewayNetworkingV1GatewayForAllNamespaces", + "description": "read status of the specified HTTPRoute", + "operationId": "readGatewayNetworkingV1beta1NamespacedHTTPRouteStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + } + ], "produces": [ "application/json", "application/yaml" @@ -63755,7 +69721,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" } }, "401": { @@ -63766,59 +69732,64 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" + "kind": "HTTPRoute", + "version": "v1beta1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" + "description": "name of the HTTPRoute", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/gateway.networking.k8s.io/v1/grpcroutes": { - "get": { + ], + "patch": { "consumes": [ - "application/json", - "application/yaml" + "application/json-patch+json", + "application/merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified HTTPRoute", + "operationId": "patchGatewayNetworkingV1beta1NamespacedHTTPRouteStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "list objects of kind GRPCRoute", - "operationId": "listGatewayNetworkingV1GRPCRouteForAllNamespaces", "produces": [ "application/json", "application/yaml" @@ -63827,7 +69798,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRouteList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" } }, "401": { @@ -63838,59 +69809,49 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", - "version": "v1" + "kind": "HTTPRoute", + "version": "v1beta1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/gateway.networking.k8s.io/v1/httproutes": { - "get": { + "put": { "consumes": [ "application/json", "application/yaml" ], - "description": "list objects of kind HTTPRoute", - "operationId": "listGatewayNetworkingV1HTTPRouteForAllNamespaces", + "description": "replace status of the specified HTTPRoute", + "operationId": "replaceGatewayNetworkingV1beta1NamespacedHTTPRouteStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml" @@ -63899,7 +69860,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRouteList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" } }, "401": { @@ -63910,59 +69877,24 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", "kind": "HTTPRoute", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "version": "v1beta1" } - ] + } }, - "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways": { + "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/referencegrants": { "delete": { "consumes": [ "application/json", "application/yaml" ], - "description": "delete collection of Gateway", - "operationId": "deleteGatewayNetworkingV1CollectionNamespacedGateway", + "description": "delete collection of ReferenceGrant", + "operationId": "deleteGatewayNetworkingV1beta1CollectionNamespacedReferenceGrant", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -64014,13 +69946,13 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" + "kind": "ReferenceGrant", + "version": "v1beta1" } }, "get": { @@ -64028,8 +69960,8 @@ "application/json", "application/yaml" ], - "description": "list objects of kind Gateway", - "operationId": "listGatewayNetworkingV1NamespacedGateway", + "description": "list objects of kind ReferenceGrant", + "operationId": "listGatewayNetworkingV1beta1NamespacedReferenceGrant", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -64070,7 +70002,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GatewayList" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrantList" } }, "401": { @@ -64081,13 +70013,13 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" + "kind": "ReferenceGrant", + "version": "v1beta1" } }, "parameters": [ @@ -64103,15 +70035,15 @@ "application/json", "application/yaml" ], - "description": "create a Gateway", - "operationId": "createGatewayNetworkingV1NamespacedGateway", + "description": "create a ReferenceGrant", + "operationId": "createGatewayNetworkingV1beta1NamespacedReferenceGrant", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" } }, { @@ -64140,19 +70072,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" } }, "401": { @@ -64163,24 +70095,24 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" + "kind": "ReferenceGrant", + "version": "v1beta1" } } }, - "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways/{name}": { + "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/referencegrants/{name}": { "delete": { "consumes": [ "application/json", "application/yaml" ], - "description": "delete a Gateway", - "operationId": "deleteGatewayNetworkingV1NamespacedGateway", + "description": "delete a ReferenceGrant", + "operationId": "deleteGatewayNetworkingV1beta1NamespacedReferenceGrant", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -64230,13 +70162,13 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" + "kind": "ReferenceGrant", + "version": "v1beta1" } }, "get": { @@ -64244,8 +70176,8 @@ "application/json", "application/yaml" ], - "description": "read the specified Gateway", - "operationId": "readGatewayNetworkingV1NamespacedGateway", + "description": "read the specified ReferenceGrant", + "operationId": "readGatewayNetworkingV1beta1NamespacedReferenceGrant", "parameters": [ { "$ref": "#/parameters/resourceVersion-5WAnf1kx" @@ -64259,7 +70191,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" } }, "401": { @@ -64270,18 +70202,18 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" + "kind": "ReferenceGrant", + "version": "v1beta1" } }, "parameters": [ { - "description": "name of the Gateway", + "description": "name of the ReferenceGrant", "in": "path", "name": "name", "required": true, @@ -64301,8 +70233,8 @@ "application/merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified Gateway", - "operationId": "patchGatewayNetworkingV1NamespacedGateway", + "description": "partially update the specified ReferenceGrant", + "operationId": "patchGatewayNetworkingV1beta1NamespacedReferenceGrant", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -64336,7 +70268,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" } }, "401": { @@ -64347,13 +70279,13 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" + "kind": "ReferenceGrant", + "version": "v1beta1" } }, "put": { @@ -64361,15 +70293,15 @@ "application/json", "application/yaml" ], - "description": "replace the specified Gateway", - "operationId": "replaceGatewayNetworkingV1NamespacedGateway", + "description": "replace the specified ReferenceGrant", + "operationId": "replaceGatewayNetworkingV1beta1NamespacedReferenceGrant", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" } }, { @@ -64398,13 +70330,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" } }, "401": { @@ -64415,29 +70347,24 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" + "kind": "ReferenceGrant", + "version": "v1beta1" } } }, - "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/gateways/{name}/status": { + "/apis/gateway.networking.k8s.io/v1beta1/referencegrants": { "get": { "consumes": [ "application/json", "application/yaml" ], - "description": "read status of the specified Gateway", - "operationId": "readGatewayNetworkingV1NamespacedGatewayStatus", - "parameters": [ - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - } - ], + "description": "list objects of kind ReferenceGrant", + "operationId": "listGatewayNetworkingV1beta1ReferenceGrantForAllNamespaces", "produces": [ "application/json", "application/yaml" @@ -64446,7 +70373,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrantList" } }, "401": { @@ -64457,141 +70384,103 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "gatewayNetworking_v1beta1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" + "kind": "ReferenceGrant", + "version": "v1beta1" } }, "parameters": [ { - "description": "name of the Gateway", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, { - "$ref": "#/parameters/namespace-vgWSWtn3" + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/networking.k8s.io/": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified Gateway", - "operationId": "patchGatewayNetworkingV1NamespacedGatewayStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get information of a group", + "operationId": "getNetworkingAPIGroup", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "gatewayNetworking_v1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" - } - }, - "put": { - "consumes": [ - "application/json", - "application/yaml" - ], - "description": "replace status of the specified Gateway", - "operationId": "replaceGatewayNetworkingV1NamespacedGatewayStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking" + ] + } + }, + "/apis/networking.k8s.io/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get available resources", + "operationId": "getNetworkingV1APIResources", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.Gateway" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -64602,40 +70491,52 @@ "https" ], "tags": [ - "gatewayNetworking_v1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1" - } + "networking_v1" + ] } }, - "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes": { + "/apis/networking.k8s.io/v1/ingressclasses": { "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "delete collection of GRPCRoute", - "operationId": "deleteGatewayNetworkingV1CollectionNamespacedGRPCRoute", + "description": "delete collection of IngressClass", + "operationId": "deleteNetworkingV1CollectionIngressClass", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "$ref": "#/parameters/continue-QfD61s0i" }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -64647,14 +70548,12 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { @@ -64671,22 +70570,21 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", + "group": "networking.k8s.io", + "kind": "IngressClass", "version": "v1" } }, "get": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "list objects of kind GRPCRoute", - "operationId": "listGatewayNetworkingV1NamespacedGRPCRoute", + "description": "list or watch objects of kind IngressClass", + "operationId": "listNetworkingV1IngressClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -64721,13 +70619,16 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRouteList" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClassList" } }, "401": { @@ -64738,37 +70639,33 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", + "group": "networking.k8s.io", + "kind": "IngressClass", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], "post": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "create a GRPCRoute", - "operationId": "createGatewayNetworkingV1NamespacedGRPCRoute", + "description": "create an IngressClass", + "operationId": "createNetworkingV1IngressClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, { @@ -64791,25 +70688,26 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "401": { @@ -64820,24 +70718,23 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", + "group": "networking.k8s.io", + "kind": "IngressClass", "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes/{name}": { + "/apis/networking.k8s.io/v1/ingressclasses/{name}": { "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "delete a GRPCRoute", - "operationId": "deleteGatewayNetworkingV1NamespacedGRPCRoute", + "description": "delete an IngressClass", + "operationId": "deleteNetworkingV1IngressClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -64864,7 +70761,8 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { @@ -64887,36 +70785,31 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", + "group": "networking.k8s.io", + "kind": "IngressClass", "version": "v1" } }, "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "read the specified GRPCRoute", - "operationId": "readGatewayNetworkingV1NamespacedGRPCRoute", - "parameters": [ - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - } + "*/*" ], + "description": "read the specified IngressClass", + "operationId": "readNetworkingV1IngressClass", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "401": { @@ -64927,27 +70820,24 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", + "group": "networking.k8s.io", + "kind": "IngressClass", "version": "v1" } }, "parameters": [ { - "description": "name of the GRPCRoute", + "description": "name of the IngressClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -64956,10 +70846,11 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", + "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified GRPCRoute", - "operationId": "patchGatewayNetworkingV1NamespacedGRPCRoute", + "description": "partially update the specified IngressClass", + "operationId": "patchNetworkingV1IngressClass", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -64987,13 +70878,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" } }, "401": { @@ -65004,29 +70902,329 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", + "group": "networking.k8s.io", + "kind": "IngressClass", "version": "v1" } }, "put": { "consumes": [ + "*/*" + ], + "description": "replace the specified IngressClass", + "operationId": "replaceNetworkingV1IngressClass", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], - "description": "replace the specified GRPCRoute", - "operationId": "replaceGatewayNetworkingV1NamespacedGRPCRoute", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "networking.k8s.io", + "kind": "IngressClass", + "version": "v1" + } + } + }, + "/apis/networking.k8s.io/v1/ingresses": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind Ingress", + "operationId": "listNetworkingV1IngressForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "networking.k8s.io", + "kind": "Ingress", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/networking.k8s.io/v1/ipaddresses": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete collection of IPAddress", + "operationId": "deleteNetworkingV1CollectionIPAddress", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking_v1" + ], + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind IPAddress", + "operationId": "listNetworkingV1IPAddress", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddressList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create an IPAddress", + "operationId": "createNetworkingV1IPAddress", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" } }, { @@ -65049,19 +71247,26 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" } }, "401": { @@ -65072,38 +71277,63 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", + "group": "networking.k8s.io", + "kind": "IPAddress", "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/grpcroutes/{name}/status": { - "get": { + "/apis/networking.k8s.io/v1/ipaddresses/{name}": { + "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "read status of the specified GRPCRoute", - "operationId": "readGatewayNetworkingV1NamespacedGRPCRouteStatus", + "description": "delete an IPAddress", + "operationId": "deleteNetworkingV1IPAddress", "parameters": [ { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" } ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -65114,27 +71344,59 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "read the specified IPAddress", + "operationId": "readNetworkingV1IPAddress", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", + "group": "networking.k8s.io", + "kind": "IPAddress", "version": "v1" } }, "parameters": [ { - "description": "name of the GRPCRoute", + "description": "name of the IPAddress", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -65143,10 +71405,11 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", + "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified GRPCRoute", - "operationId": "patchGatewayNetworkingV1NamespacedGRPCRouteStatus", + "description": "partially update the specified IPAddress", + "operationId": "patchNetworkingV1IPAddress", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -65174,13 +71437,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" } }, "401": { @@ -65191,29 +71461,28 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", + "group": "networking.k8s.io", + "kind": "IPAddress", "version": "v1" } }, "put": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "replace status of the specified GRPCRoute", - "operationId": "replaceGatewayNetworkingV1NamespacedGRPCRouteStatus", + "description": "replace the specified IPAddress", + "operationId": "replaceNetworkingV1IPAddress", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" } }, { @@ -65236,19 +71505,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" } }, "401": { @@ -65259,40 +71529,58 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GRPCRoute", + "group": "networking.k8s.io", + "kind": "IPAddress", "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes": { + "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses": { "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "delete collection of HTTPRoute", - "operationId": "deleteGatewayNetworkingV1CollectionNamespacedHTTPRoute", + "description": "delete collection of Ingress", + "operationId": "deleteNetworkingV1CollectionNamespacedIngress", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "$ref": "#/parameters/continue-QfD61s0i" }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -65304,14 +71592,12 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { @@ -65328,22 +71614,21 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", + "group": "networking.k8s.io", + "kind": "Ingress", "version": "v1" } }, "get": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "list objects of kind HTTPRoute", - "operationId": "listGatewayNetworkingV1NamespacedHTTPRoute", + "description": "list or watch objects of kind Ingress", + "operationId": "listNetworkingV1NamespacedIngress", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -65378,13 +71663,16 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRouteList" + "$ref": "#/definitions/io.k8s.api.networking.v1.IngressList" } }, "401": { @@ -65395,12 +71683,12 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", + "group": "networking.k8s.io", + "kind": "Ingress", "version": "v1" } }, @@ -65414,18 +71702,17 @@ ], "post": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "create a HTTPRoute", - "operationId": "createGatewayNetworkingV1NamespacedHTTPRoute", + "description": "create an Ingress", + "operationId": "createNetworkingV1NamespacedIngress", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, { @@ -65448,25 +71735,26 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -65477,24 +71765,23 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", + "group": "networking.k8s.io", + "kind": "Ingress", "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes/{name}": { + "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}": { "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "delete a HTTPRoute", - "operationId": "deleteGatewayNetworkingV1NamespacedHTTPRoute", + "description": "delete an Ingress", + "operationId": "deleteNetworkingV1NamespacedIngress", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -65521,7 +71808,8 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { @@ -65544,36 +71832,31 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", + "group": "networking.k8s.io", + "kind": "Ingress", "version": "v1" } }, "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "read the specified HTTPRoute", - "operationId": "readGatewayNetworkingV1NamespacedHTTPRoute", - "parameters": [ - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - } + "*/*" ], + "description": "read the specified Ingress", + "operationId": "readNetworkingV1NamespacedIngress", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -65584,18 +71867,18 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", + "group": "networking.k8s.io", + "kind": "Ingress", "version": "v1" } }, "parameters": [ { - "description": "name of the HTTPRoute", + "description": "name of the Ingress", "in": "path", "name": "name", "required": true, @@ -65613,10 +71896,11 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", + "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified HTTPRoute", - "operationId": "patchGatewayNetworkingV1NamespacedHTTPRoute", + "description": "partially update the specified Ingress", + "operationId": "patchNetworkingV1NamespacedIngress", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -65644,13 +71928,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -65661,29 +71952,28 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", + "group": "networking.k8s.io", + "kind": "Ingress", "version": "v1" } }, "put": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "replace the specified HTTPRoute", - "operationId": "replaceGatewayNetworkingV1NamespacedHTTPRoute", + "description": "replace the specified Ingress", + "operationId": "replaceNetworkingV1NamespacedIngress", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, { @@ -65706,19 +71996,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -65729,38 +72020,33 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", + "group": "networking.k8s.io", + "kind": "Ingress", "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1/namespaces/{namespace}/httproutes/{name}/status": { + "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status": { "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "read status of the specified HTTPRoute", - "operationId": "readGatewayNetworkingV1NamespacedHTTPRouteStatus", - "parameters": [ - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - } + "*/*" ], + "description": "read status of the specified Ingress", + "operationId": "readNetworkingV1NamespacedIngressStatus", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -65771,18 +72057,18 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", + "group": "networking.k8s.io", + "kind": "Ingress", "version": "v1" } }, "parameters": [ { - "description": "name of the HTTPRoute", + "description": "name of the Ingress", "in": "path", "name": "name", "required": true, @@ -65800,10 +72086,11 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", + "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified HTTPRoute", - "operationId": "patchGatewayNetworkingV1NamespacedHTTPRouteStatus", + "description": "partially update status of the specified Ingress", + "operationId": "patchNetworkingV1NamespacedIngressStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -65831,13 +72118,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -65848,29 +72142,28 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", + "group": "networking.k8s.io", + "kind": "Ingress", "version": "v1" } }, "put": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "replace status of the specified HTTPRoute", - "operationId": "replaceGatewayNetworkingV1NamespacedHTTPRouteStatus", + "description": "replace status of the specified Ingress", + "operationId": "replaceNetworkingV1NamespacedIngressStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, { @@ -65893,19 +72186,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1.HTTPRoute" + "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" } }, "401": { @@ -65916,40 +72210,58 @@ "https" ], "tags": [ - "gatewayNetworking_v1" + "networking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", + "group": "networking.k8s.io", + "kind": "Ingress", "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1beta1/gatewayclasses": { + "/apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies": { "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "delete collection of GatewayClass", - "operationId": "deleteGatewayNetworkingV1beta1CollectionGatewayClass", + "description": "delete collection of NetworkPolicy", + "operationId": "deleteNetworkingV1CollectionNamespacedNetworkPolicy", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "$ref": "#/parameters/continue-QfD61s0i" }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -65961,14 +72273,12 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { @@ -65985,22 +72295,21 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } }, "get": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "list objects of kind GatewayClass", - "operationId": "listGatewayNetworkingV1beta1GatewayClass", + "description": "list or watch objects of kind NetworkPolicy", + "operationId": "listNetworkingV1NamespacedNetworkPolicy", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -66035,13 +72344,16 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClassList" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicyList" } }, "401": { @@ -66052,34 +72364,36 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], "post": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "create a GatewayClass", - "operationId": "createGatewayNetworkingV1beta1GatewayClass", + "description": "create a NetworkPolicy", + "operationId": "createNetworkingV1NamespacedNetworkPolicy", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, { @@ -66102,25 +72416,26 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "401": { @@ -66131,24 +72446,23 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1beta1/gatewayclasses/{name}": { + "/apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}": { "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "delete a GatewayClass", - "operationId": "deleteGatewayNetworkingV1beta1GatewayClass", + "description": "delete a NetworkPolicy", + "operationId": "deleteNetworkingV1NamespacedNetworkPolicy", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -66175,7 +72489,8 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { @@ -66198,36 +72513,31 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } }, "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "read the specified GatewayClass", - "operationId": "readGatewayNetworkingV1beta1GatewayClass", - "parameters": [ - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - } + "*/*" ], + "description": "read the specified NetworkPolicy", + "operationId": "readNetworkingV1NamespacedNetworkPolicy", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "401": { @@ -66238,24 +72548,27 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } }, "parameters": [ { - "description": "name of the GatewayClass", + "description": "name of the NetworkPolicy", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -66264,10 +72577,11 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", + "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified GatewayClass", - "operationId": "patchGatewayNetworkingV1beta1GatewayClass", + "description": "partially update the specified NetworkPolicy", + "operationId": "patchNetworkingV1NamespacedNetworkPolicy", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -66295,197 +72609,20 @@ ], "produces": [ "application/json", - "application/yaml" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "gatewayNetworking_v1beta1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1beta1" - } - }, - "put": { - "consumes": [ - "application/json", - "application/yaml" - ], - "description": "replace the specified GatewayClass", - "operationId": "replaceGatewayNetworkingV1beta1GatewayClass", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "gatewayNetworking_v1beta1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1beta1" - } - } - }, - "/apis/gateway.networking.k8s.io/v1beta1/gatewayclasses/{name}/status": { - "get": { - "consumes": [ - "application/json", - "application/yaml" - ], - "description": "read status of the specified GatewayClass", - "operationId": "readGatewayNetworkingV1beta1GatewayClassStatus", - "parameters": [ - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - } - ], - "produces": [ - "application/json", - "application/yaml" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "gatewayNetworking_v1beta1" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1beta1" - } - }, - "parameters": [ - { - "description": "name of the GatewayClass", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified GatewayClass", - "operationId": "patchGatewayNetworkingV1beta1GatewayClassStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } - ], - "produces": [ - "application/json", - "application/yaml" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "401": { @@ -66496,29 +72633,28 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } }, "put": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "replace status of the specified GatewayClass", - "operationId": "replaceGatewayNetworkingV1beta1GatewayClassStatus", + "description": "replace the specified NetworkPolicy", + "operationId": "replaceNetworkingV1NamespacedNetworkPolicy", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, { @@ -66541,19 +72677,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayClass" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" } }, "401": { @@ -66564,105 +72701,35 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "GatewayClass", - "version": "v1beta1" - } - } - }, - "/apis/gateway.networking.k8s.io/v1beta1/gateways": { - "get": { - "consumes": [ - "application/json", - "application/yaml" - ], - "description": "list objects of kind Gateway", - "operationId": "listGatewayNetworkingV1beta1GatewayForAllNamespaces", - "produces": [ - "application/json", - "application/yaml" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "gatewayNetworking_v1beta1" - ], - "x-kubernetes-action": "list", - "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } - ] + } }, - "/apis/gateway.networking.k8s.io/v1beta1/httproutes": { + "/apis/networking.k8s.io/v1/networkpolicies": { "get": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "list objects of kind HTTPRoute", - "operationId": "listGatewayNetworkingV1beta1HTTPRouteForAllNamespaces", + "description": "list or watch objects of kind NetworkPolicy", + "operationId": "listNetworkingV1NetworkPolicyForAllNamespaces", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRouteList" + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicyList" } }, "401": { @@ -66673,13 +72740,13 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } }, "parameters": [ @@ -66718,30 +72785,48 @@ } ] }, - "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/gateways": { + "/apis/networking.k8s.io/v1/servicecidrs": { "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "delete collection of Gateway", - "operationId": "deleteGatewayNetworkingV1beta1CollectionNamespacedGateway", + "description": "delete collection of ServiceCIDR", + "operationId": "deleteNetworkingV1CollectionServiceCIDR", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "$ref": "#/parameters/continue-QfD61s0i" }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -66753,14 +72838,12 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { @@ -66777,22 +72860,21 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" } }, "get": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "list objects of kind Gateway", - "operationId": "listGatewayNetworkingV1beta1NamespacedGateway", + "description": "list or watch objects of kind ServiceCIDR", + "operationId": "listNetworkingV1ServiceCIDR", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -66827,13 +72909,16 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.GatewayList" + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDRList" } }, "401": { @@ -66844,37 +72929,33 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], "post": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "create a Gateway", - "operationId": "createGatewayNetworkingV1beta1NamespacedGateway", + "description": "create a ServiceCIDR", + "operationId": "createNetworkingV1ServiceCIDR", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" } }, { @@ -66897,25 +72978,26 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" } }, "401": { @@ -66926,24 +73008,23 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/gateways/{name}": { + "/apis/networking.k8s.io/v1/servicecidrs/{name}": { "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "delete a Gateway", - "operationId": "deleteGatewayNetworkingV1beta1NamespacedGateway", + "description": "delete a ServiceCIDR", + "operationId": "deleteNetworkingV1ServiceCIDR", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -66970,7 +73051,8 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { @@ -66993,36 +73075,113 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" } }, "get": { "consumes": [ + "*/*" + ], + "description": "read the specified ServiceCIDR", + "operationId": "readNetworkingV1ServiceCIDR", + "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], - "description": "read the specified Gateway", - "operationId": "readGatewayNetworkingV1beta1NamespacedGateway", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the ServiceCIDR", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified ServiceCIDR", + "operationId": "patchNetworkingV1ServiceCIDR", "parameters": [ { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" } }, "401": { @@ -67033,27 +73192,129 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace the specified ServiceCIDR", + "operationId": "replaceNetworkingV1ServiceCIDR", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" + } + } + }, + "/apis/networking.k8s.io/v1/servicecidrs/{name}/status": { + "get": { + "consumes": [ + "*/*" + ], + "description": "read status of the specified ServiceCIDR", + "operationId": "readNetworkingV1ServiceCIDRStatus", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" } }, "parameters": [ { - "description": "name of the Gateway", + "description": "name of the ServiceCIDR", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -67062,10 +73323,11 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", + "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified Gateway", - "operationId": "patchGatewayNetworkingV1beta1NamespacedGateway", + "description": "partially update status of the specified ServiceCIDR", + "operationId": "patchNetworkingV1ServiceCIDRStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -67093,13 +73355,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" } }, "401": { @@ -67110,29 +73379,28 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" } }, "put": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "replace the specified Gateway", - "operationId": "replaceGatewayNetworkingV1beta1NamespacedGateway", + "description": "replace status of the specified ServiceCIDR", + "operationId": "replaceNetworkingV1ServiceCIDRStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" } }, { @@ -67155,19 +73423,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" } }, "401": { @@ -67178,38 +73447,109 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/gateways/{name}/status": { + "/apis/networking.k8s.io/v1/watch/ingressclasses": { "get": { "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of IngressClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1IngressClassList", + "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], - "description": "read status of the specified Gateway", - "operationId": "readGatewayNetworkingV1beta1NamespacedGatewayStatus", - "parameters": [ - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "networking_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "networking.k8s.io", + "kind": "IngressClass", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/networking.k8s.io/v1/watch/ingressclasses/{name}": { + "get": { + "consumes": [ + "*/*" ], + "description": "watch changes to an object of kind IngressClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNetworkingV1IngressClass", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67220,18 +73560,33 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "IngressClass", + "version": "v1" } }, "parameters": [ { - "description": "name of the Gateway", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the IngressClass", "in": "path", "name": "name", "required": true, @@ -67239,54 +73594,44 @@ "uniqueItems": true }, { - "$ref": "#/parameters/namespace-vgWSWtn3" + "$ref": "#/parameters/pretty-tJGM1-ng" }, { - "$ref": "#/parameters/pretty-tJGM1-ng" + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/networking.k8s.io/v1/watch/ingresses": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified Gateway", - "operationId": "patchGatewayNetworkingV1beta1NamespacedGatewayStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of Ingress. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1IngressListForAllNamespaces", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67297,64 +73642,70 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "Ingress", + "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/networking.k8s.io/v1/watch/ipaddresses": { + "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "replace status of the specified Gateway", - "operationId": "replaceGatewayNetworkingV1beta1NamespacedGatewayStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } + "*/*" ], + "description": "watch individual changes to a list of IPAddress. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1IPAddressList", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.Gateway" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67365,65 +73716,70 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "Gateway", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/httproutes": { - "delete": { + "/apis/networking.k8s.io/v1/watch/ipaddresses/{name}": { + "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "delete collection of HTTPRoute", - "operationId": "deleteGatewayNetworkingV1beta1CollectionNamespacedHTTPRoute", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } + "*/*" ], + "description": "watch changes to an object of kind IPAddress. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNetworkingV1IPAddress", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67434,63 +73790,78 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "IPAddress", + "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the IPAddress", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses": { "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "list objects of kind HTTPRoute", - "operationId": "listGatewayNetworkingV1beta1NamespacedHTTPRoute", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } + "*/*" ], + "description": "watch individual changes to a list of Ingress. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1NamespacedIngressList", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRouteList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67501,78 +73872,73 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "Ingress", + "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, { "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "post": { + ] + }, + "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses/{name}": { + "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "create a HTTPRoute", - "operationId": "createGatewayNetworkingV1beta1NamespacedHTTPRoute", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } + "*/*" ], + "description": "watch changes to an object of kind Ingress. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNetworkingV1NamespacedIngress", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67583,63 +73949,81 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "Ingress", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Ingress", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - } + ] }, - "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/httproutes/{name}": { - "delete": { + "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies": { + "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "delete a HTTPRoute", - "operationId": "deleteGatewayNetworkingV1beta1NamespacedHTTPRoute", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } + "*/*" ], + "description": "watch individual changes to a list of NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1NamespacedNetworkPolicyList", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67650,36 +74034,73 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}": { "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "read the specified HTTPRoute", - "operationId": "readGatewayNetworkingV1beta1NamespacedHTTPRoute", - "parameters": [ - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - } + "*/*" ], + "description": "watch changes to an object of kind NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNetworkingV1NamespacedNetworkPolicy", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67690,18 +74111,33 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } }, "parameters": [ { - "description": "name of the HTTPRoute", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the NetworkPolicy", "in": "path", "name": "name", "required": true, @@ -67713,50 +74149,43 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/networking.k8s.io/v1/watch/networkpolicies": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified HTTPRoute", - "operationId": "patchGatewayNetworkingV1beta1NamespacedHTTPRoute", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1NetworkPolicyListForAllNamespaces", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67767,64 +74196,70 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "NetworkPolicy", + "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/networking.k8s.io/v1/watch/servicecidrs": { + "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "replace the specified HTTPRoute", - "operationId": "replaceGatewayNetworkingV1beta1NamespacedHTTPRoute", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } + "*/*" ], + "description": "watch individual changes to a list of ServiceCIDR. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNetworkingV1ServiceCIDRList", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67835,38 +74270,70 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/httproutes/{name}/status": { + "/apis/networking.k8s.io/v1/watch/servicecidrs/{name}": { "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "read status of the specified HTTPRoute", - "operationId": "readGatewayNetworkingV1beta1NamespacedHTTPRouteStatus", - "parameters": [ - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - } + "*/*" ], + "description": "watch changes to an object of kind ServiceCIDR. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNetworkingV1ServiceCIDR", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -67877,18 +74344,33 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "networking_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" + "group": "networking.k8s.io", + "kind": "ServiceCIDR", + "version": "v1" } }, "parameters": [ { - "description": "name of the HTTPRoute", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the ServiceCIDR", "in": "path", "name": "name", "required": true, @@ -67896,54 +74378,44 @@ "uniqueItems": true }, { - "$ref": "#/parameters/namespace-vgWSWtn3" + "$ref": "#/parameters/pretty-tJGM1-ng" }, { - "$ref": "#/parameters/pretty-tJGM1-ng" + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/node.k8s.io/": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified HTTPRoute", - "operationId": "patchGatewayNetworkingV1beta1NamespacedHTTPRouteStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get information of a group", + "operationId": "getNodeAPIGroup", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" } }, "401": { @@ -67954,64 +74426,29 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" - ], - "x-kubernetes-action": "patch", - "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" - } - }, - "put": { + "node" + ] + } + }, + "/apis/node.k8s.io/v1/": { + "get": { "consumes": [ "application/json", - "application/yaml" - ], - "description": "replace status of the specified HTTPRoute", - "operationId": "replaceGatewayNetworkingV1beta1NamespacedHTTPRouteStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } + "application/yaml", + "application/vnd.kubernetes.protobuf" ], + "description": "get available resources", + "operationId": "getNodeV1APIResources", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.HTTPRoute" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" } }, "401": { @@ -68022,40 +74459,52 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "HTTPRoute", - "version": "v1beta1" - } + "node_v1" + ] } }, - "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/referencegrants": { + "/apis/node.k8s.io/v1/runtimeclasses": { "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "delete collection of ReferenceGrant", - "operationId": "deleteGatewayNetworkingV1beta1CollectionNamespacedReferenceGrant", + "description": "delete collection of RuntimeClass", + "operationId": "deleteNodeV1CollectionRuntimeClass", "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "$ref": "#/parameters/continue-QfD61s0i" }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/fieldSelector-xIcQKXFG" }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, { "$ref": "#/parameters/labelSelector-5Zw57w4C" }, { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, { "$ref": "#/parameters/resourceVersion-5WAnf1kx" }, @@ -68067,14 +74516,12 @@ }, { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { @@ -68091,22 +74538,21 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "node_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "ReferenceGrant", - "version": "v1beta1" + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" } }, "get": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "list objects of kind ReferenceGrant", - "operationId": "listGatewayNetworkingV1beta1NamespacedReferenceGrant", + "description": "list or watch objects of kind RuntimeClass", + "operationId": "listNodeV1RuntimeClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -68141,13 +74587,16 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrantList" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClassList" } }, "401": { @@ -68158,37 +74607,33 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "node_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "ReferenceGrant", - "version": "v1beta1" + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], "post": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "create a ReferenceGrant", - "operationId": "createGatewayNetworkingV1beta1NamespacedReferenceGrant", + "description": "create a RuntimeClass", + "operationId": "createNodeV1RuntimeClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, { @@ -68211,25 +74656,26 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "401": { @@ -68240,24 +74686,23 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "node_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "ReferenceGrant", - "version": "v1beta1" + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1beta1/namespaces/{namespace}/referencegrants/{name}": { + "/apis/node.k8s.io/v1/runtimeclasses/{name}": { "delete": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "delete a ReferenceGrant", - "operationId": "deleteGatewayNetworkingV1beta1NamespacedReferenceGrant", + "description": "delete a RuntimeClass", + "operationId": "deleteNodeV1RuntimeClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -68284,7 +74729,8 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { @@ -68307,36 +74753,31 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "node_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "ReferenceGrant", - "version": "v1beta1" + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" } }, "get": { "consumes": [ - "application/json", - "application/yaml" - ], - "description": "read the specified ReferenceGrant", - "operationId": "readGatewayNetworkingV1beta1NamespacedReferenceGrant", - "parameters": [ - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - } + "*/*" ], + "description": "read the specified RuntimeClass", + "operationId": "readNodeV1RuntimeClass", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "401": { @@ -68347,27 +74788,24 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "node_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "ReferenceGrant", - "version": "v1beta1" + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" } }, "parameters": [ { - "description": "name of the ReferenceGrant", + "description": "name of the RuntimeClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -68376,10 +74814,11 @@ "consumes": [ "application/json-patch+json", "application/merge-patch+json", + "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ReferenceGrant", - "operationId": "patchGatewayNetworkingV1beta1NamespacedReferenceGrant", + "description": "partially update the specified RuntimeClass", + "operationId": "patchNodeV1RuntimeClass", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -68407,13 +74846,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "401": { @@ -68424,29 +74870,28 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "node_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "ReferenceGrant", - "version": "v1beta1" + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" } }, "put": { "consumes": [ - "application/json", - "application/yaml" + "*/*" ], - "description": "replace the specified ReferenceGrant", - "operationId": "replaceGatewayNetworkingV1beta1NamespacedReferenceGrant", + "description": "replace the specified RuntimeClass", + "operationId": "replaceNodeV1RuntimeClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, { @@ -68469,19 +74914,20 @@ ], "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrant" + "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" } }, "401": { @@ -68492,33 +74938,109 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "node_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "ReferenceGrant", - "version": "v1beta1" + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" } } }, - "/apis/gateway.networking.k8s.io/v1beta1/referencegrants": { + "/apis/node.k8s.io/v1/watch/runtimeclasses": { "get": { "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of RuntimeClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchNodeV1RuntimeClassList", + "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], - "description": "list objects of kind ReferenceGrant", - "operationId": "listGatewayNetworkingV1beta1ReferenceGrantForAllNamespaces", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "node_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/node.k8s.io/v1/watch/runtimeclasses/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind RuntimeClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchNodeV1RuntimeClass", "produces": [ "application/json", - "application/yaml" + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrantList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -68529,13 +75051,13 @@ "https" ], "tags": [ - "gatewayNetworking_v1beta1" + "node_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "gateway.networking.k8s.io", - "kind": "ReferenceGrant", - "version": "v1beta1" + "group": "node.k8s.io", + "kind": "RuntimeClass", + "version": "v1" } }, "parameters": [ @@ -68554,6 +75076,14 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the RuntimeClass", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -68574,7 +75104,7 @@ } ] }, - "/apis/networking.k8s.io/": { + "/apis/policy/": { "get": { "consumes": [ "application/json", @@ -68582,7 +75112,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get information of a group", - "operationId": "getNetworkingAPIGroup", + "operationId": "getPolicyAPIGroup", "produces": [ "application/json", "application/yaml", @@ -68603,11 +75133,11 @@ "https" ], "tags": [ - "networking" + "policy" ] } }, - "/apis/networking.k8s.io/v1/": { + "/apis/policy/v1/": { "get": { "consumes": [ "application/json", @@ -68615,7 +75145,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getNetworkingV1APIResources", + "operationId": "getPolicyV1APIResources", "produces": [ "application/json", "application/yaml", @@ -68636,17 +75166,17 @@ "https" ], "tags": [ - "networking_v1" + "policy_v1" ] } }, - "/apis/networking.k8s.io/v1/ingressclasses": { + "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of IngressClass", - "operationId": "deleteNetworkingV1CollectionIngressClass", + "description": "delete collection of PodDisruptionBudget", + "operationId": "deletePolicyV1CollectionNamespacedPodDisruptionBudget", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -68715,12 +75245,12 @@ "https" ], "tags": [ - "networking_v1" + "policy_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, @@ -68728,8 +75258,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind IngressClass", - "operationId": "listNetworkingV1IngressClass", + "description": "list or watch objects of kind PodDisruptionBudget", + "operationId": "listPolicyV1NamespacedPodDisruptionBudget", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -68758,22 +75288,206 @@ { "$ref": "#/parameters/timeoutSeconds-yvYezaOC" }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "policy_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "policy", + "kind": "PodDisruptionBudget", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a PodDisruptionBudget", + "operationId": "createPolicyV1NamespacedPodDisruptionBudget", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "policy_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "policy", + "kind": "PodDisruptionBudget", + "version": "v1" + } + } + }, + "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete a PodDisruptionBudget", + "operationId": "deletePolicyV1NamespacedPodDisruptionBudget", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "policy_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "policy", + "kind": "PodDisruptionBudget", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" ], + "description": "read the specified PodDisruptionBudget", + "operationId": "readPolicyV1NamespacedPodDisruptionBudget", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClassList" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68784,34 +75498,43 @@ "https" ], "tags": [ - "networking_v1" + "policy_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, "parameters": [ + { + "description": "name of the PodDisruptionBudget", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "post": { + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" ], - "description": "create an IngressClass", - "operationId": "createNetworkingV1IngressClass", + "description": "partially update the specified PodDisruptionBudget", + "operationId": "patchPolicyV1NamespacedPodDisruptionBudget", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" - } + "$ref": "#/parameters/body-78PwaGsr" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -68821,7 +75544,7 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/fieldManager-7c6nTn1T" }, { "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", @@ -68829,6 +75552,9 @@ "name": "fieldValidation", "type": "string", "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -68840,19 +75566,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68863,26 +75583,29 @@ "https" ], "tags": [ - "networking_v1" + "policy_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } - } - }, - "/apis/networking.k8s.io/v1/ingressclasses/{name}": { - "delete": { + }, + "put": { "consumes": [ "*/*" ], - "description": "delete an IngressClass", - "operationId": "deleteNetworkingV1IngressClass", + "description": "replace the specified PodDisruptionBudget", + "operationId": "replacePolicyV1NamespacedPodDisruptionBudget", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + } }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -68892,16 +75615,14 @@ "uniqueItems": true }, { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } ], "produces": [ @@ -68913,13 +75634,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, - "202": { - "description": "Accepted", + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68930,21 +75651,23 @@ "https" ], "tags": [ - "networking_v1" + "policy_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } - }, + } + }, + "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read the specified IngressClass", - "operationId": "readNetworkingV1IngressClass", + "description": "read status of the specified PodDisruptionBudget", + "operationId": "readPolicyV1NamespacedPodDisruptionBudgetStatus", "produces": [ "application/json", "application/yaml", @@ -68954,7 +75677,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -68965,24 +75688,27 @@ "https" ], "tags": [ - "networking_v1" + "policy_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, "parameters": [ { - "description": "name of the IngressClass", + "description": "name of the PodDisruptionBudget", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -68994,8 +75720,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified IngressClass", - "operationId": "patchNetworkingV1IngressClass", + "description": "partially update status of the specified PodDisruptionBudget", + "operationId": "patchPolicyV1NamespacedPodDisruptionBudgetStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -69030,13 +75756,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -69047,12 +75773,12 @@ "https" ], "tags": [ - "networking_v1" + "policy_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, @@ -69060,15 +75786,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified IngressClass", - "operationId": "replaceNetworkingV1IngressClass", + "description": "replace status of the specified PodDisruptionBudget", + "operationId": "replacePolicyV1NamespacedPodDisruptionBudgetStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, { @@ -69098,13 +75824,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressClass" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" } }, "401": { @@ -69115,23 +75841,23 @@ "https" ], "tags": [ - "networking_v1" + "policy_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } } }, - "/apis/networking.k8s.io/v1/ingresses": { + "/apis/policy/v1/poddisruptionbudgets": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Ingress", - "operationId": "listNetworkingV1IngressForAllNamespaces", + "description": "list or watch objects of kind PodDisruptionBudget", + "operationId": "listPolicyV1PodDisruptionBudgetForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -69143,7 +75869,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressList" + "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetList" } }, "401": { @@ -69154,12 +75880,12 @@ "https" ], "tags": [ - "networking_v1" + "policy_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", + "group": "policy", + "kind": "PodDisruptionBudget", "version": "v1" } }, @@ -69199,13 +75925,315 @@ } ] }, - "/apis/networking.k8s.io/v1/ipaddresses": { + "/apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchPolicyV1NamespacedPodDisruptionBudgetList", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "policy_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "policy", + "kind": "PodDisruptionBudget", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchPolicyV1NamespacedPodDisruptionBudget", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "policy_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "policy", + "kind": "PodDisruptionBudget", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the PodDisruptionBudget", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/policy/v1/watch/poddisruptionbudgets": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch individual changes to a list of PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchPolicyV1PodDisruptionBudgetListForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "policy_v1" + ], + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "policy", + "kind": "PodDisruptionBudget", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/rbac.authorization.k8s.io/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get information of a group", + "operationId": "getRbacAuthorizationAPIGroup", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "rbacAuthorization" + ] + } + }, + "/apis/rbac.authorization.k8s.io/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getRbacAuthorizationV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "rbacAuthorization_v1" + ] + } + }, + "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of IPAddress", - "operationId": "deleteNetworkingV1CollectionIPAddress", + "description": "delete collection of ClusterRoleBinding", + "operationId": "deleteRbacAuthorizationV1CollectionClusterRoleBinding", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -69274,12 +76302,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IPAddress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", "version": "v1" } }, @@ -69287,8 +76315,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind IPAddress", - "operationId": "listNetworkingV1IPAddress", + "description": "list or watch objects of kind ClusterRoleBinding", + "operationId": "listRbacAuthorizationV1ClusterRoleBinding", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -69332,7 +76360,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddressList" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBindingList" } }, "401": { @@ -69343,12 +76371,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IPAddress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", "version": "v1" } }, @@ -69361,15 +76389,15 @@ "consumes": [ "*/*" ], - "description": "create an IPAddress", - "operationId": "createNetworkingV1IPAddress", + "description": "create a ClusterRoleBinding", + "operationId": "createRbacAuthorizationV1ClusterRoleBinding", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, { @@ -69399,19 +76427,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "401": { @@ -69422,23 +76450,23 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IPAddress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", "version": "v1" } } }, - "/apis/networking.k8s.io/v1/ipaddresses/{name}": { + "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete an IPAddress", - "operationId": "deleteNetworkingV1IPAddress", + "description": "delete a ClusterRoleBinding", + "operationId": "deleteRbacAuthorizationV1ClusterRoleBinding", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -69489,12 +76517,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IPAddress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", "version": "v1" } }, @@ -69502,8 +76530,8 @@ "consumes": [ "*/*" ], - "description": "read the specified IPAddress", - "operationId": "readNetworkingV1IPAddress", + "description": "read the specified ClusterRoleBinding", + "operationId": "readRbacAuthorizationV1ClusterRoleBinding", "produces": [ "application/json", "application/yaml", @@ -69513,7 +76541,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "401": { @@ -69524,18 +76552,18 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IPAddress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", "version": "v1" } }, "parameters": [ { - "description": "name of the IPAddress", + "description": "name of the ClusterRoleBinding", "in": "path", "name": "name", "required": true, @@ -69553,8 +76581,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified IPAddress", - "operationId": "patchNetworkingV1IPAddress", + "description": "partially update the specified ClusterRoleBinding", + "operationId": "patchRbacAuthorizationV1ClusterRoleBinding", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -69589,13 +76617,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "401": { @@ -69606,12 +76634,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IPAddress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", "version": "v1" } }, @@ -69619,15 +76647,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified IPAddress", - "operationId": "replaceNetworkingV1IPAddress", + "description": "replace the specified ClusterRoleBinding", + "operationId": "replaceRbacAuthorizationV1ClusterRoleBinding", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, { @@ -69657,13 +76685,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IPAddress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" } }, "401": { @@ -69674,23 +76702,23 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IPAddress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", "version": "v1" } } }, - "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses": { + "/apis/rbac.authorization.k8s.io/v1/clusterroles": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of Ingress", - "operationId": "deleteNetworkingV1CollectionNamespacedIngress", + "description": "delete collection of ClusterRole", + "operationId": "deleteRbacAuthorizationV1CollectionClusterRole", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -69759,12 +76787,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", "version": "v1" } }, @@ -69772,8 +76800,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind Ingress", - "operationId": "listNetworkingV1NamespacedIngress", + "description": "list or watch objects of kind ClusterRole", + "operationId": "listRbacAuthorizationV1ClusterRole", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -69817,7 +76845,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.IngressList" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleList" } }, "401": { @@ -69828,19 +76856,16 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -69849,207 +76874,17 @@ "consumes": [ "*/*" ], - "description": "create an Ingress", - "operationId": "createNetworkingV1NamespacedIngress", + "description": "create a ClusterRole", + "operationId": "createRbacAuthorizationV1ClusterRole", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "post", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", - "version": "v1" - } - } - }, - "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete an Ingress", - "operationId": "deleteNetworkingV1NamespacedIngress", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "delete", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", - "version": "v1" - } - }, - "get": { - "consumes": [ - "*/*" - ], - "description": "read the specified Ingress", - "operationId": "readNetworkingV1NamespacedIngress", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", - "version": "v1" - } - }, - "parameters": [ - { - "description": "name of the Ingress", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified Ingress", - "operationId": "patchNetworkingV1NamespacedIngress", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", "in": "query", @@ -70058,7 +76893,7 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-7c6nTn1T" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", @@ -70066,9 +76901,6 @@ "name": "fieldValidation", "type": "string", "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -70080,13 +76912,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "401": { @@ -70097,29 +76935,26 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", "version": "v1" } - }, - "put": { + } + }, + "/apis/rbac.authorization.k8s.io/v1/clusterroles/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "replace the specified Ingress", - "operationId": "replaceNetworkingV1NamespacedIngress", + "description": "delete a ClusterRole", + "operationId": "deleteRbacAuthorizationV1ClusterRole", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" - } + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -70129,14 +76964,16 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" } ], "produces": [ @@ -70148,13 +76985,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, - "201": { - "description": "Created", + "202": { + "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -70165,23 +77002,21 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", "version": "v1" } - } - }, - "/apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status": { + }, "get": { "consumes": [ "*/*" ], - "description": "read status of the specified Ingress", - "operationId": "readNetworkingV1NamespacedIngressStatus", + "description": "read the specified ClusterRole", + "operationId": "readRbacAuthorizationV1ClusterRole", "produces": [ "application/json", "application/yaml", @@ -70191,7 +77026,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "401": { @@ -70202,27 +77037,24 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", "version": "v1" } }, "parameters": [ { - "description": "name of the Ingress", + "description": "name of the ClusterRole", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -70234,8 +77066,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified Ingress", - "operationId": "patchNetworkingV1NamespacedIngressStatus", + "description": "partially update the specified ClusterRole", + "operationId": "patchRbacAuthorizationV1ClusterRole", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -70270,13 +77102,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "401": { @@ -70287,12 +77119,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", "version": "v1" } }, @@ -70300,15 +77132,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified Ingress", - "operationId": "replaceNetworkingV1NamespacedIngressStatus", + "description": "replace the specified ClusterRole", + "operationId": "replaceRbacAuthorizationV1ClusterRole", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, { @@ -70338,13 +77170,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.Ingress" + "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" } }, "401": { @@ -70355,23 +77187,23 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", "version": "v1" } } }, - "/apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies": { + "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of NetworkPolicy", - "operationId": "deleteNetworkingV1CollectionNamespacedNetworkPolicy", + "description": "delete collection of RoleBinding", + "operationId": "deleteRbacAuthorizationV1CollectionNamespacedRoleBinding", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -70440,12 +77272,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } }, @@ -70453,8 +77285,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind NetworkPolicy", - "operationId": "listNetworkingV1NamespacedNetworkPolicy", + "description": "list or watch objects of kind RoleBinding", + "operationId": "listRbacAuthorizationV1NamespacedRoleBinding", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -70498,7 +77330,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicyList" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBindingList" } }, "401": { @@ -70509,12 +77341,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } }, @@ -70530,15 +77362,15 @@ "consumes": [ "*/*" ], - "description": "create a NetworkPolicy", - "operationId": "createNetworkingV1NamespacedNetworkPolicy", + "description": "create a RoleBinding", + "operationId": "createRbacAuthorizationV1NamespacedRoleBinding", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, { @@ -70568,19 +77400,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "401": { @@ -70591,23 +77423,23 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } } }, - "/apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name}": { + "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a NetworkPolicy", - "operationId": "deleteNetworkingV1NamespacedNetworkPolicy", + "description": "delete a RoleBinding", + "operationId": "deleteRbacAuthorizationV1NamespacedRoleBinding", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -70658,12 +77490,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } }, @@ -70671,8 +77503,8 @@ "consumes": [ "*/*" ], - "description": "read the specified NetworkPolicy", - "operationId": "readNetworkingV1NamespacedNetworkPolicy", + "description": "read the specified RoleBinding", + "operationId": "readRbacAuthorizationV1NamespacedRoleBinding", "produces": [ "application/json", "application/yaml", @@ -70682,7 +77514,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "401": { @@ -70693,18 +77525,18 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } }, "parameters": [ { - "description": "name of the NetworkPolicy", + "description": "name of the RoleBinding", "in": "path", "name": "name", "required": true, @@ -70725,8 +77557,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified NetworkPolicy", - "operationId": "patchNetworkingV1NamespacedNetworkPolicy", + "description": "partially update the specified RoleBinding", + "operationId": "patchRbacAuthorizationV1NamespacedRoleBinding", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -70761,13 +77593,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "401": { @@ -70778,12 +77610,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } }, @@ -70791,15 +77623,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified NetworkPolicy", - "operationId": "replaceNetworkingV1NamespacedNetworkPolicy", + "description": "replace the specified RoleBinding", + "operationId": "replaceRbacAuthorizationV1NamespacedRoleBinding", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, { @@ -70829,13 +77661,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicy" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" } }, "401": { @@ -70846,97 +77678,23 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } } }, - "/apis/networking.k8s.io/v1/networkpolicies": { - "get": { - "consumes": [ - "*/*" - ], - "description": "list or watch objects of kind NetworkPolicy", - "operationId": "listNetworkingV1NetworkPolicyForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicyList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "list", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/servicecidrs": { + "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ServiceCIDR", - "operationId": "deleteNetworkingV1CollectionServiceCIDR", + "description": "delete collection of Role", + "operationId": "deleteRbacAuthorizationV1CollectionNamespacedRole", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -71005,12 +77763,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", + "group": "rbac.authorization.k8s.io", + "kind": "Role", "version": "v1" } }, @@ -71018,8 +77776,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ServiceCIDR", - "operationId": "listNetworkingV1ServiceCIDR", + "description": "list or watch objects of kind Role", + "operationId": "listRbacAuthorizationV1NamespacedRole", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -71063,7 +77821,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDRList" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleList" } }, "401": { @@ -71074,16 +77832,19 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", + "group": "rbac.authorization.k8s.io", + "kind": "Role", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -71092,15 +77853,15 @@ "consumes": [ "*/*" ], - "description": "create a ServiceCIDR", - "operationId": "createNetworkingV1ServiceCIDR", + "description": "create a Role", + "operationId": "createRbacAuthorizationV1NamespacedRole", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, { @@ -71130,203 +77891,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "post", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1" - } - } - }, - "/apis/networking.k8s.io/v1/servicecidrs/{name}": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete a ServiceCIDR", - "operationId": "deleteNetworkingV1ServiceCIDR", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "delete", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1" - } - }, - "get": { - "consumes": [ - "*/*" - ], - "description": "read the specified ServiceCIDR", - "operationId": "readNetworkingV1ServiceCIDR", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1" - } - }, - "parameters": [ - { - "description": "name of the ServiceCIDR", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "patch": { - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified ServiceCIDR", - "operationId": "patchNetworkingV1ServiceCIDR", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "401": { @@ -71337,29 +77914,26 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", + "group": "rbac.authorization.k8s.io", + "kind": "Role", "version": "v1" } - }, - "put": { + } + }, + "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "replace the specified ServiceCIDR", - "operationId": "replaceNetworkingV1ServiceCIDR", + "description": "delete a Role", + "operationId": "deleteRbacAuthorizationV1NamespacedRole", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" - } + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -71369,14 +77943,16 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" } ], "produces": [ @@ -71388,13 +77964,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, - "201": { - "description": "Created", + "202": { + "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -71405,23 +77981,21 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", + "group": "rbac.authorization.k8s.io", + "kind": "Role", "version": "v1" } - } - }, - "/apis/networking.k8s.io/v1/servicecidrs/{name}/status": { + }, "get": { "consumes": [ "*/*" ], - "description": "read status of the specified ServiceCIDR", - "operationId": "readNetworkingV1ServiceCIDRStatus", + "description": "read the specified Role", + "operationId": "readRbacAuthorizationV1NamespacedRole", "produces": [ "application/json", "application/yaml", @@ -71431,7 +78005,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "401": { @@ -71442,24 +78016,27 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", + "group": "rbac.authorization.k8s.io", + "kind": "Role", "version": "v1" } }, "parameters": [ { - "description": "name of the ServiceCIDR", + "description": "name of the Role", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -71471,8 +78048,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified ServiceCIDR", - "operationId": "patchNetworkingV1ServiceCIDRStatus", + "description": "partially update the specified Role", + "operationId": "patchRbacAuthorizationV1NamespacedRole", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -71507,13 +78084,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "401": { @@ -71524,12 +78101,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", + "group": "rbac.authorization.k8s.io", + "kind": "Role", "version": "v1" } }, @@ -71537,15 +78114,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified ServiceCIDR", - "operationId": "replaceNetworkingV1ServiceCIDRStatus", + "description": "replace the specified Role", + "operationId": "replaceRbacAuthorizationV1NamespacedRole", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, { @@ -71575,426 +78152,40 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.networking.v1.ServiceCIDR" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", - "version": "v1" - } - } - }, - "/apis/networking.k8s.io/v1/watch/ingressclasses": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of IngressClass. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1IngressClassList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/ingressclasses/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind IngressClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNetworkingV1IngressClass", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IngressClass", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the IngressClass", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/ingresses": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of Ingress. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1IngressListForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/ipaddresses": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of IPAddress. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1IPAddressList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/networking.k8s.io/v1/watch/ipaddresses/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind IPAddress. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNetworkingV1IPAddress", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "networking_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "IPAddress", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the IPAddress", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + "401": { + "description": "Unauthorized" + } }, - { - "$ref": "#/parameters/watch-XNNPZGbK" + "schemes": [ + "https" + ], + "tags": [ + "rbacAuthorization_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "rbac.authorization.k8s.io", + "kind": "Role", + "version": "v1" } - ] + } }, - "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses": { + "/apis/rbac.authorization.k8s.io/v1/rolebindings": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Ingress. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1NamespacedIngressList", + "description": "list or watch objects of kind RoleBinding", + "operationId": "listRbacAuthorizationV1RoleBindingForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -72006,7 +78197,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBindingList" } }, "401": { @@ -72017,12 +78208,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } }, @@ -72042,9 +78233,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -72065,13 +78253,13 @@ } ] }, - "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/ingresses/{name}": { + "/apis/rbac.authorization.k8s.io/v1/roles": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind Ingress. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNetworkingV1NamespacedIngress", + "description": "list or watch objects of kind Role", + "operationId": "listRbacAuthorizationV1RoleForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -72083,7 +78271,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleList" } }, "401": { @@ -72094,12 +78282,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "Ingress", + "group": "rbac.authorization.k8s.io", + "kind": "Role", "version": "v1" } }, @@ -72119,17 +78307,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "description": "name of the Ingress", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -72150,13 +78327,13 @@ } ] }, - "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies": { + "/apis/rbac.authorization.k8s.io/v1/watch/clusterrolebindings": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1NamespacedNetworkPolicyList", + "description": "watch individual changes to a list of ClusterRoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1ClusterRoleBindingList", "produces": [ "application/json", "application/yaml", @@ -72179,12 +78356,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", "version": "v1" } }, @@ -72204,9 +78381,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -72227,13 +78401,13 @@ } ] }, - "/apis/networking.k8s.io/v1/watch/namespaces/{namespace}/networkpolicies/{name}": { + "/apis/rbac.authorization.k8s.io/v1/watch/clusterrolebindings/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNetworkingV1NamespacedNetworkPolicy", + "description": "watch changes to an object of kind ClusterRoleBinding. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchRbacAuthorizationV1ClusterRoleBinding", "produces": [ "application/json", "application/yaml", @@ -72256,12 +78430,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRoleBinding", "version": "v1" } }, @@ -72282,16 +78456,13 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the NetworkPolicy", + "description": "name of the ClusterRoleBinding", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -72312,13 +78483,13 @@ } ] }, - "/apis/networking.k8s.io/v1/watch/networkpolicies": { + "/apis/rbac.authorization.k8s.io/v1/watch/clusterroles": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of NetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1NetworkPolicyListForAllNamespaces", + "description": "watch individual changes to a list of ClusterRole. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1ClusterRoleList", "produces": [ "application/json", "application/yaml", @@ -72341,12 +78512,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "NetworkPolicy", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", "version": "v1" } }, @@ -72386,13 +78557,13 @@ } ] }, - "/apis/networking.k8s.io/v1/watch/servicecidrs": { + "/apis/rbac.authorization.k8s.io/v1/watch/clusterroles/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ServiceCIDR. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNetworkingV1ServiceCIDRList", + "description": "watch changes to an object of kind ClusterRole. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchRbacAuthorizationV1ClusterRole", "produces": [ "application/json", "application/yaml", @@ -72415,12 +78586,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", + "group": "rbac.authorization.k8s.io", + "kind": "ClusterRole", "version": "v1" } }, @@ -72440,6 +78611,14 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the ClusterRole", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -72460,13 +78639,13 @@ } ] }, - "/apis/networking.k8s.io/v1/watch/servicecidrs/{name}": { + "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/rolebindings": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ServiceCIDR. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNetworkingV1ServiceCIDR", + "description": "watch individual changes to a list of RoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1NamespacedRoleBindingList", "produces": [ "application/json", "application/yaml", @@ -72489,12 +78668,12 @@ "https" ], "tags": [ - "networking_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "networking.k8s.io", - "kind": "ServiceCIDR", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } }, @@ -72515,12 +78694,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the ServiceCIDR", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" @@ -72534,395 +78708,33 @@ { "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/node.k8s.io/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getNodeAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "node" - ] - } - }, - "/apis/node.k8s.io/v1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get available resources", - "operationId": "getNodeV1APIResources", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "node_v1" - ] - } - }, - "/apis/node.k8s.io/v1/runtimeclasses": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete collection of RuntimeClass", - "operationId": "deleteNodeV1CollectionRuntimeClass", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "node_v1" - ], - "x-kubernetes-action": "deletecollection", - "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" - } - }, - "get": { - "consumes": [ - "*/*" - ], - "description": "list or watch objects of kind RuntimeClass", - "operationId": "listNodeV1RuntimeClass", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClassList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "node_v1" - ], - "x-kubernetes-action": "list", - "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { - "consumes": [ - "*/*" - ], - "description": "create a RuntimeClass", - "operationId": "createNodeV1RuntimeClass", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "node_v1" - ], - "x-kubernetes-action": "post", - "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" - } - } - }, - "/apis/node.k8s.io/v1/runtimeclasses/{name}": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete a RuntimeClass", - "operationId": "deleteNodeV1RuntimeClass", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "node_v1" - ], - "x-kubernetes-action": "delete", - "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", - "version": "v1" + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - }, + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/rolebindings/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read the specified RuntimeClass", - "operationId": "readNodeV1RuntimeClass", + "description": "watch changes to an object of kind RoleBinding. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchRbacAuthorizationV1NamespacedRoleBinding", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -72933,78 +78745,81 @@ "https" ], "tags": [ - "node_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } }, "parameters": [ { - "description": "name of the RuntimeClass", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the RoleBinding", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/roles": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified RuntimeClass", - "operationId": "patchNodeV1RuntimeClass", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of Role. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1NamespacedRoleList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -73015,64 +78830,73 @@ "https" ], "tags": [ - "node_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", + "group": "rbac.authorization.k8s.io", + "kind": "Role", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/roles/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "replace the specified RuntimeClass", - "operationId": "replaceNodeV1RuntimeClass", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "watch changes to an object of kind Role. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchRbacAuthorizationV1NamespacedRole", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.node.v1.RuntimeClass" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -73083,23 +78907,69 @@ "https" ], "tags": [ - "node_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", + "group": "rbac.authorization.k8s.io", + "kind": "Role", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the Role", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/node.k8s.io/v1/watch/runtimeclasses": { + "/apis/rbac.authorization.k8s.io/v1/watch/rolebindings": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of RuntimeClass. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchNodeV1RuntimeClassList", + "description": "watch individual changes to a list of RoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1RoleBindingListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -73122,12 +78992,12 @@ "https" ], "tags": [ - "node_v1" + "rbacAuthorization_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", + "group": "rbac.authorization.k8s.io", + "kind": "RoleBinding", "version": "v1" } }, @@ -73167,13 +79037,13 @@ } ] }, - "/apis/node.k8s.io/v1/watch/runtimeclasses/{name}": { + "/apis/rbac.authorization.k8s.io/v1/watch/roles": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind RuntimeClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchNodeV1RuntimeClass", + "description": "watch individual changes to a list of Role. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchRbacAuthorizationV1RoleListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -73196,12 +79066,12 @@ "https" ], "tags": [ - "node_v1" + "rbacAuthorization_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "node.k8s.io", - "kind": "RuntimeClass", + "group": "rbac.authorization.k8s.io", + "kind": "Role", "version": "v1" } }, @@ -73221,14 +79091,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "description": "name of the RuntimeClass", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -73249,7 +79111,7 @@ } ] }, - "/apis/policy/": { + "/apis/resource.k8s.io/": { "get": { "consumes": [ "application/json", @@ -73257,7 +79119,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get information of a group", - "operationId": "getPolicyAPIGroup", + "operationId": "getResourceAPIGroup", "produces": [ "application/json", "application/yaml", @@ -73278,11 +79140,11 @@ "https" ], "tags": [ - "policy" + "resource" ] } }, - "/apis/policy/v1/": { + "/apis/resource.k8s.io/v1/": { "get": { "consumes": [ "application/json", @@ -73290,7 +79152,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getPolicyV1APIResources", + "operationId": "getResourceV1APIResources", "produces": [ "application/json", "application/yaml", @@ -73311,17 +79173,17 @@ "https" ], "tags": [ - "policy_v1" + "resource_v1" ] } }, - "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets": { + "/apis/resource.k8s.io/v1/deviceclasses": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of PodDisruptionBudget", - "operationId": "deletePolicyV1CollectionNamespacedPodDisruptionBudget", + "description": "delete collection of DeviceClass", + "operationId": "deleteResourceV1CollectionDeviceClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -73390,12 +79252,12 @@ "https" ], "tags": [ - "policy_v1" + "resource_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", + "group": "resource.k8s.io", + "kind": "DeviceClass", "version": "v1" } }, @@ -73403,8 +79265,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind PodDisruptionBudget", - "operationId": "listPolicyV1NamespacedPodDisruptionBudget", + "description": "list or watch objects of kind DeviceClass", + "operationId": "listResourceV1DeviceClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -73448,7 +79310,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetList" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClassList" } }, "401": { @@ -73459,227 +79321,34 @@ "https" ], "tags": [ - "policy_v1" + "resource_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { - "consumes": [ - "*/*" - ], - "description": "create a PodDisruptionBudget", - "operationId": "createPolicyV1NamespacedPodDisruptionBudget", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "policy_v1" - ], - "x-kubernetes-action": "post", - "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" - } - } - }, - "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}": { - "delete": { - "consumes": [ - "*/*" - ], - "description": "delete a PodDisruptionBudget", - "operationId": "deletePolicyV1NamespacedPodDisruptionBudget", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "policy_v1" - ], - "x-kubernetes-action": "delete", - "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" - } - }, - "get": { - "consumes": [ - "*/*" - ], - "description": "read the specified PodDisruptionBudget", - "operationId": "readPolicyV1NamespacedPodDisruptionBudget", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "policy_v1" - ], - "x-kubernetes-action": "get", - "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", + "group": "resource.k8s.io", + "kind": "DeviceClass", "version": "v1" } }, "parameters": [ - { - "description": "name of the PodDisruptionBudget", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } ], - "patch": { + "post": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" + "*/*" ], - "description": "partially update the specified PodDisruptionBudget", - "operationId": "patchPolicyV1NamespacedPodDisruptionBudget", + "description": "create a DeviceClass", + "operationId": "createResourceV1DeviceClass", "parameters": [ { - "$ref": "#/parameters/body-78PwaGsr" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" + } }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -73689,7 +79358,7 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-7c6nTn1T" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", @@ -73697,9 +79366,6 @@ "name": "fieldValidation", "type": "string", "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" } ], "produces": [ @@ -73711,13 +79377,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" } }, "401": { @@ -73728,29 +79400,26 @@ "https" ], "tags": [ - "policy_v1" + "resource_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", + "group": "resource.k8s.io", + "kind": "DeviceClass", "version": "v1" } - }, - "put": { + } + }, + "/apis/resource.k8s.io/v1/deviceclasses/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "replace the specified PodDisruptionBudget", - "operationId": "replacePolicyV1NamespacedPodDisruptionBudget", + "description": "delete a DeviceClass", + "operationId": "deleteResourceV1DeviceClass", "parameters": [ { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" - } + "$ref": "#/parameters/body-2Y1dVQaQ" }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -73760,14 +79429,16 @@ "uniqueItems": true }, { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" }, { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" } ], "produces": [ @@ -73779,13 +79450,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" } }, - "201": { - "description": "Created", + "202": { + "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" } }, "401": { @@ -73796,23 +79467,21 @@ "https" ], "tags": [ - "policy_v1" + "resource_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", + "group": "resource.k8s.io", + "kind": "DeviceClass", "version": "v1" } - } - }, - "/apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}/status": { + }, "get": { "consumes": [ "*/*" ], - "description": "read status of the specified PodDisruptionBudget", - "operationId": "readPolicyV1NamespacedPodDisruptionBudgetStatus", + "description": "read the specified DeviceClass", + "operationId": "readResourceV1DeviceClass", "produces": [ "application/json", "application/yaml", @@ -73822,7 +79491,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" } }, "401": { @@ -73833,27 +79502,24 @@ "https" ], "tags": [ - "policy_v1" + "resource_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", + "group": "resource.k8s.io", + "kind": "DeviceClass", "version": "v1" } }, "parameters": [ { - "description": "name of the PodDisruptionBudget", + "description": "name of the DeviceClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -73865,8 +79531,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update status of the specified PodDisruptionBudget", - "operationId": "patchPolicyV1NamespacedPodDisruptionBudgetStatus", + "description": "partially update the specified DeviceClass", + "operationId": "patchResourceV1DeviceClass", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -73901,13 +79567,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" } }, "401": { @@ -73918,12 +79584,12 @@ "https" ], "tags": [ - "policy_v1" + "resource_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", + "group": "resource.k8s.io", + "kind": "DeviceClass", "version": "v1" } }, @@ -73931,15 +79597,15 @@ "consumes": [ "*/*" ], - "description": "replace status of the specified PodDisruptionBudget", - "operationId": "replacePolicyV1NamespacedPodDisruptionBudgetStatus", + "description": "replace the specified DeviceClass", + "operationId": "replaceResourceV1DeviceClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" } }, { @@ -73969,13 +79635,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudget" + "$ref": "#/definitions/io.k8s.api.resource.v1.DeviceClass" } }, "401": { @@ -73986,399 +79652,23 @@ "https" ], "tags": [ - "policy_v1" + "resource_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" - } - } - }, - "/apis/policy/v1/poddisruptionbudgets": { - "get": { - "consumes": [ - "*/*" - ], - "description": "list or watch objects of kind PodDisruptionBudget", - "operationId": "listPolicyV1PodDisruptionBudgetForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "policy_v1" - ], - "x-kubernetes-action": "list", - "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchPolicyV1NamespacedPodDisruptionBudgetList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "policy_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchPolicyV1NamespacedPodDisruptionBudget", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "policy_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the PodDisruptionBudget", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/policy/v1/watch/poddisruptionbudgets": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of PodDisruptionBudget. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchPolicyV1PodDisruptionBudgetListForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "policy_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "policy", - "kind": "PodDisruptionBudget", + "group": "resource.k8s.io", + "kind": "DeviceClass", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/rbac.authorization.k8s.io/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getRbacAuthorizationAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "rbacAuthorization" - ] - } - }, - "/apis/rbac.authorization.k8s.io/v1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get available resources", - "operationId": "getRbacAuthorizationV1APIResources", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "rbacAuthorization_v1" - ] } }, - "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings": { + "/apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ClusterRoleBinding", - "operationId": "deleteRbacAuthorizationV1CollectionClusterRoleBinding", + "description": "delete collection of ResourceClaim", + "operationId": "deleteResourceV1CollectionNamespacedResourceClaim", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -74447,12 +79737,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } }, @@ -74460,8 +79750,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ClusterRoleBinding", - "operationId": "listRbacAuthorizationV1ClusterRoleBinding", + "description": "list or watch objects of kind ResourceClaim", + "operationId": "listResourceV1NamespacedResourceClaim", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -74505,7 +79795,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBindingList" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimList" } }, "401": { @@ -74516,16 +79806,19 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -74534,15 +79827,15 @@ "consumes": [ "*/*" ], - "description": "create a ClusterRoleBinding", - "operationId": "createRbacAuthorizationV1ClusterRoleBinding", + "description": "create a ResourceClaim", + "operationId": "createResourceV1NamespacedResourceClaim", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, { @@ -74572,19 +79865,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, "401": { @@ -74595,23 +79888,23 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}": { + "/apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ClusterRoleBinding", - "operationId": "deleteRbacAuthorizationV1ClusterRoleBinding", + "description": "delete a ResourceClaim", + "operationId": "deleteResourceV1NamespacedResourceClaim", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -74645,13 +79938,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, "401": { @@ -74662,12 +79955,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } }, @@ -74675,8 +79968,8 @@ "consumes": [ "*/*" ], - "description": "read the specified ClusterRoleBinding", - "operationId": "readRbacAuthorizationV1ClusterRoleBinding", + "description": "read the specified ResourceClaim", + "operationId": "readResourceV1NamespacedResourceClaim", "produces": [ "application/json", "application/yaml", @@ -74686,7 +79979,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, "401": { @@ -74697,24 +79990,27 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } }, "parameters": [ { - "description": "name of the ClusterRoleBinding", + "description": "name of the ResourceClaim", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -74726,8 +80022,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ClusterRoleBinding", - "operationId": "patchRbacAuthorizationV1ClusterRoleBinding", + "description": "partially update the specified ResourceClaim", + "operationId": "patchResourceV1NamespacedResourceClaim", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -74762,13 +80058,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, "401": { @@ -74779,12 +80075,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } }, @@ -74792,15 +80088,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified ClusterRoleBinding", - "operationId": "replaceRbacAuthorizationV1ClusterRoleBinding", + "description": "replace the specified ResourceClaim", + "operationId": "replaceResourceV1NamespacedResourceClaim", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, { @@ -74830,13 +80126,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" } }, "401": { @@ -74847,23 +80143,213 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/clusterroles": { + "/apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims/{name}/status": { + "get": { + "consumes": [ + "*/*" + ], + "description": "read status of the specified ResourceClaim", + "operationId": "readResourceV1NamespacedResourceClaimStatus", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "ResourceClaim", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the ResourceClaim", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update status of the specified ResourceClaim", + "operationId": "patchResourceV1NamespacedResourceClaimStatus", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1" + ], + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "ResourceClaim", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace status of the specified ResourceClaim", + "operationId": "replaceResourceV1NamespacedResourceClaimStatus", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaim" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "ResourceClaim", + "version": "v1" + } + } + }, + "/apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaimtemplates": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of ClusterRole", - "operationId": "deleteRbacAuthorizationV1CollectionClusterRole", + "description": "delete collection of ResourceClaimTemplate", + "operationId": "deleteResourceV1CollectionNamespacedResourceClaimTemplate", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -74932,12 +80418,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", "version": "v1" } }, @@ -74945,8 +80431,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind ClusterRole", - "operationId": "listRbacAuthorizationV1ClusterRole", + "description": "list or watch objects of kind ResourceClaimTemplate", + "operationId": "listResourceV1NamespacedResourceClaimTemplate", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -74990,7 +80476,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRoleList" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplateList" } }, "401": { @@ -75001,16 +80487,19 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -75019,15 +80508,15 @@ "consumes": [ "*/*" ], - "description": "create a ClusterRole", - "operationId": "createRbacAuthorizationV1ClusterRole", + "description": "create a ResourceClaimTemplate", + "operationId": "createResourceV1NamespacedResourceClaimTemplate", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" } }, { @@ -75057,19 +80546,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" } }, "401": { @@ -75080,23 +80569,23 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/clusterroles/{name}": { + "/apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaimtemplates/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a ClusterRole", - "operationId": "deleteRbacAuthorizationV1ClusterRole", + "description": "delete a ResourceClaimTemplate", + "operationId": "deleteResourceV1NamespacedResourceClaimTemplate", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -75130,13 +80619,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" } }, "401": { @@ -75147,12 +80636,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", "version": "v1" } }, @@ -75160,8 +80649,8 @@ "consumes": [ "*/*" ], - "description": "read the specified ClusterRole", - "operationId": "readRbacAuthorizationV1ClusterRole", + "description": "read the specified ResourceClaimTemplate", + "operationId": "readResourceV1NamespacedResourceClaimTemplate", "produces": [ "application/json", "application/yaml", @@ -75171,7 +80660,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" } }, "401": { @@ -75182,24 +80671,27 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", "version": "v1" } }, "parameters": [ { - "description": "name of the ClusterRole", + "description": "name of the ResourceClaimTemplate", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -75211,8 +80703,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified ClusterRole", - "operationId": "patchRbacAuthorizationV1ClusterRole", + "description": "partially update the specified ResourceClaimTemplate", + "operationId": "patchResourceV1NamespacedResourceClaimTemplate", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -75247,13 +80739,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" } }, "401": { @@ -75264,64 +80756,177 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", + "version": "v1" + } + }, + "put": { + "consumes": [ + "*/*" + ], + "description": "replace the specified ResourceClaimTemplate", + "operationId": "replaceResourceV1NamespacedResourceClaimTemplate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplate" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1" + ], + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", + "version": "v1" + } + } + }, + "/apis/resource.k8s.io/v1/resourceclaims": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind ResourceClaim", + "operationId": "listResourceV1ResourceClaimForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "resource_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/resource.k8s.io/v1/resourceclaimtemplates": { + "get": { "consumes": [ "*/*" ], - "description": "replace the specified ClusterRole", - "operationId": "replaceRbacAuthorizationV1ClusterRole", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], + "description": "list or watch objects of kind ResourceClaimTemplate", + "operationId": "listResourceV1ResourceClaimTemplateForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.ClusterRole" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceClaimTemplateList" } }, "401": { @@ -75332,23 +80937,58 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings": { + "/apis/resource.k8s.io/v1/resourceslices": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of RoleBinding", - "operationId": "deleteRbacAuthorizationV1CollectionNamespacedRoleBinding", + "description": "delete collection of ResourceSlice", + "operationId": "deleteResourceV1CollectionResourceSlice", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -75417,12 +81057,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceSlice", "version": "v1" } }, @@ -75430,8 +81070,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind RoleBinding", - "operationId": "listRbacAuthorizationV1NamespacedRoleBinding", + "description": "list or watch objects of kind ResourceSlice", + "operationId": "listResourceV1ResourceSlice", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -75475,7 +81115,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBindingList" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSliceList" } }, "401": { @@ -75486,19 +81126,16 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceSlice", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -75507,15 +81144,15 @@ "consumes": [ "*/*" ], - "description": "create a RoleBinding", - "operationId": "createRbacAuthorizationV1NamespacedRoleBinding", + "description": "create a ResourceSlice", + "operationId": "createResourceV1ResourceSlice", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, { @@ -75545,19 +81182,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, "401": { @@ -75568,23 +81205,23 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceSlice", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}": { + "/apis/resource.k8s.io/v1/resourceslices/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a RoleBinding", - "operationId": "deleteRbacAuthorizationV1NamespacedRoleBinding", + "description": "delete a ResourceSlice", + "operationId": "deleteResourceV1ResourceSlice", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -75618,13 +81255,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, "401": { @@ -75635,12 +81272,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceSlice", "version": "v1" } }, @@ -75648,8 +81285,8 @@ "consumes": [ "*/*" ], - "description": "read the specified RoleBinding", - "operationId": "readRbacAuthorizationV1NamespacedRoleBinding", + "description": "read the specified ResourceSlice", + "operationId": "readResourceV1ResourceSlice", "produces": [ "application/json", "application/yaml", @@ -75659,7 +81296,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, "401": { @@ -75670,27 +81307,24 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceSlice", "version": "v1" } }, "parameters": [ { - "description": "name of the RoleBinding", + "description": "name of the ResourceSlice", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -75702,8 +81336,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified RoleBinding", - "operationId": "patchRbacAuthorizationV1NamespacedRoleBinding", + "description": "partially update the specified ResourceSlice", + "operationId": "patchResourceV1ResourceSlice", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -75738,13 +81372,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, "401": { @@ -75755,12 +81389,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceSlice", "version": "v1" } }, @@ -75768,15 +81402,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified RoleBinding", - "operationId": "replaceRbacAuthorizationV1NamespacedRoleBinding", + "description": "replace the specified ResourceSlice", + "operationId": "replaceResourceV1ResourceSlice", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, { @@ -75806,13 +81440,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBinding" + "$ref": "#/definitions/io.k8s.api.resource.v1.ResourceSlice" } }, "401": { @@ -75823,81 +81457,35 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceSlice", "version": "v1" } } }, - "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles": { - "delete": { + "/apis/resource.k8s.io/v1/watch/deviceclasses": { + "get": { "consumes": [ "*/*" ], - "description": "delete collection of Role", - "operationId": "deleteRbacAuthorizationV1CollectionNamespacedRole", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - } - ], + "description": "watch individual changes to a list of DeviceClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1DeviceClassList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -75908,53 +81496,58 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], - "x-kubernetes-action": "deletecollection", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", + "group": "resource.k8s.io", + "kind": "DeviceClass", "version": "v1" } }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/resource.k8s.io/v1/watch/deviceclasses/{name}": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Role", - "operationId": "listRbacAuthorizationV1NamespacedRole", - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ], + "description": "watch changes to an object of kind DeviceClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchResourceV1DeviceClass", "produces": [ "application/json", "application/yaml", @@ -75966,7 +81559,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -75977,145 +81570,78 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", + "group": "resource.k8s.io", + "kind": "DeviceClass", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/namespace-vgWSWtn3" + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the DeviceClass", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true }, { "$ref": "#/parameters/pretty-tJGM1-ng" - } - ], - "post": { - "consumes": [ - "*/*" - ], - "description": "create a Role", - "operationId": "createRbacAuthorizationV1NamespacedRole", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" - } - }, - "401": { - "description": "Unauthorized" - } }, - "schemes": [ - "https" - ], - "tags": [ - "rbacAuthorization_v1" - ], - "x-kubernetes-action": "post", - "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", - "version": "v1" + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - } + ] }, - "/apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}": { - "delete": { + "/apis/resource.k8s.io/v1/watch/namespaces/{namespace}/resourceclaims": { + "get": { "consumes": [ "*/*" ], - "description": "delete a Role", - "operationId": "deleteRbacAuthorizationV1NamespacedRole", - "parameters": [ - { - "$ref": "#/parameters/body-2Y1dVQaQ" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" - }, - { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" - } - ], + "description": "watch individual changes to a list of ResourceClaim. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1NamespacedResourceClaimList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -76126,31 +81652,73 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } - }, + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/resource.k8s.io/v1/watch/namespaces/{namespace}/resourceclaims/{name}": { "get": { "consumes": [ "*/*" ], - "description": "read the specified Role", - "operationId": "readRbacAuthorizationV1NamespacedRole", + "description": "watch changes to an object of kind ResourceClaim. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchResourceV1NamespacedResourceClaim", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -76161,18 +81729,33 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } }, "parameters": [ { - "description": "name of the Role", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the ResourceClaim", "in": "path", "name": "name", "required": true, @@ -76184,58 +81767,43 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/resource.k8s.io/v1/watch/namespaces/{namespace}/resourceclaimtemplates": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update the specified Role", - "operationId": "patchRbacAuthorizationV1NamespacedRole", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of ResourceClaimTemplate. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1NamespacedResourceClaimTemplateList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -76246,91 +81814,61 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", "version": "v1" } }, - "put": { - "consumes": [ - "*/*" - ], - "description": "replace the specified Role", - "operationId": "replaceRbacAuthorizationV1NamespacedRole", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" - } - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - } - ], - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.Role" - } - }, - "401": { - "description": "Unauthorized" - } + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" }, - "schemes": [ - "https" - ], - "tags": [ - "rbacAuthorization_v1" - ], - "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", - "version": "v1" + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - } + ] }, - "/apis/rbac.authorization.k8s.io/v1/rolebindings": { + "/apis/resource.k8s.io/v1/watch/namespaces/{namespace}/resourceclaimtemplates/{name}": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind RoleBinding", - "operationId": "listRbacAuthorizationV1RoleBindingForAllNamespaces", + "description": "watch changes to an object of kind ResourceClaimTemplate. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchResourceV1NamespacedResourceClaimTemplate", "produces": [ "application/json", "application/yaml", @@ -76342,7 +81880,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleBindingList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -76353,12 +81891,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", "version": "v1" } }, @@ -76378,6 +81916,17 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the ResourceClaimTemplate", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -76398,13 +81947,13 @@ } ] }, - "/apis/rbac.authorization.k8s.io/v1/roles": { + "/apis/resource.k8s.io/v1/watch/resourceclaims": { "get": { "consumes": [ "*/*" ], - "description": "list or watch objects of kind Role", - "operationId": "listRbacAuthorizationV1RoleForAllNamespaces", + "description": "watch individual changes to a list of ResourceClaim. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1ResourceClaimListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -76416,7 +81965,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.rbac.v1.RoleList" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -76427,12 +81976,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], - "x-kubernetes-action": "list", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", + "group": "resource.k8s.io", + "kind": "ResourceClaim", "version": "v1" } }, @@ -76472,13 +82021,13 @@ } ] }, - "/apis/rbac.authorization.k8s.io/v1/watch/clusterrolebindings": { + "/apis/resource.k8s.io/v1/watch/resourceclaimtemplates": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ClusterRoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1ClusterRoleBindingList", + "description": "watch individual changes to a list of ResourceClaimTemplate. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1ResourceClaimTemplateListForAllNamespaces", "produces": [ "application/json", "application/yaml", @@ -76501,12 +82050,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceClaimTemplate", "version": "v1" } }, @@ -76546,13 +82095,13 @@ } ] }, - "/apis/rbac.authorization.k8s.io/v1/watch/clusterrolebindings/{name}": { + "/apis/resource.k8s.io/v1/watch/resourceslices": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ClusterRoleBinding. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchRbacAuthorizationV1ClusterRoleBinding", + "description": "watch individual changes to a list of ResourceSlice. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchResourceV1ResourceSliceList", "produces": [ "application/json", "application/yaml", @@ -76575,12 +82124,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRoleBinding", + "group": "resource.k8s.io", + "kind": "ResourceSlice", "version": "v1" } }, @@ -76600,14 +82149,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "description": "name of the ClusterRoleBinding", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -76628,13 +82169,13 @@ } ] }, - "/apis/rbac.authorization.k8s.io/v1/watch/clusterroles": { + "/apis/resource.k8s.io/v1/watch/resourceslices/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of ClusterRole. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1ClusterRoleList", + "description": "watch changes to an object of kind ResourceSlice. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchResourceV1ResourceSlice", "produces": [ "application/json", "application/yaml", @@ -76657,12 +82198,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "resource_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "resource.k8s.io", + "kind": "ResourceSlice", "version": "v1" } }, @@ -76682,6 +82223,14 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the ResourceSlice", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -76702,25 +82251,285 @@ } ] }, - "/apis/rbac.authorization.k8s.io/v1/watch/clusterroles/{name}": { + "/apis/scheduling.k8s.io/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get information of a group", + "operationId": "getSchedulingAPIGroup", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "scheduling" + ] + } + }, + "/apis/scheduling.k8s.io/v1/": { + "get": { + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "description": "get available resources", + "operationId": "getSchedulingV1APIResources", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "scheduling_v1" + ] + } + }, + "/apis/scheduling.k8s.io/v1/priorityclasses": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete collection of PriorityClass", + "operationId": "deleteSchedulingV1CollectionPriorityClass", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "scheduling_v1" + ], + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "scheduling.k8s.io", + "kind": "PriorityClass", + "version": "v1" + } + }, "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind ClusterRole. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchRbacAuthorizationV1ClusterRole", + "description": "list or watch objects of kind PriorityClass", + "operationId": "listSchedulingV1PriorityClass", + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClassList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "scheduling_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "scheduling.k8s.io", + "kind": "PriorityClass", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "post": { + "consumes": [ + "*/*" + ], + "description": "create a PriorityClass", + "operationId": "createSchedulingV1PriorityClass", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" } }, "401": { @@ -76731,78 +82540,63 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "scheduling_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "ClusterRole", + "group": "scheduling.k8s.io", + "kind": "PriorityClass", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the ClusterRole", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/rolebindings": { - "get": { + "/apis/scheduling.k8s.io/v1/priorityclasses/{name}": { + "delete": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of RoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1NamespacedRoleBindingList", + "description": "delete a PriorityClass", + "operationId": "deleteSchedulingV1PriorityClass", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -76813,73 +82607,31 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "scheduling_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "scheduling.k8s.io", + "kind": "PriorityClass", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/rolebindings/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind RoleBinding. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchRbacAuthorizationV1NamespacedRoleBinding", + "description": "read the specified PriorityClass", + "operationId": "readSchedulingV1PriorityClass", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" } }, "401": { @@ -76890,81 +82642,78 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "scheduling_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "scheduling.k8s.io", + "kind": "PriorityClass", "version": "v1" } }, "parameters": [ { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the RoleBinding", + "description": "name of the PriorityClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/roles": { - "get": { + ], + "patch": { "consumes": [ - "*/*" + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified PriorityClass", + "operationId": "patchSchedulingV1PriorityClass", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } ], - "description": "watch individual changes to a list of Role. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1NamespacedRoleList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" } }, "401": { @@ -76975,73 +82724,64 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "scheduling_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", + "group": "scheduling.k8s.io", + "kind": "PriorityClass", "version": "v1" } }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/rbac.authorization.k8s.io/v1/watch/namespaces/{namespace}/roles/{name}": { - "get": { + "put": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind Role. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchRbacAuthorizationV1NamespacedRole", + "description": "replace the specified PriorityClass", + "operationId": "replaceSchedulingV1PriorityClass", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + } + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-Qy4HdaTW" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + } + ], "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" + "application/vnd.kubernetes.protobuf" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" } }, "401": { @@ -77052,69 +82792,23 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "scheduling_v1" ], - "x-kubernetes-action": "watch", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", + "group": "scheduling.k8s.io", + "kind": "PriorityClass", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the Role", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/apis/rbac.authorization.k8s.io/v1/watch/rolebindings": { + "/apis/scheduling.k8s.io/v1/watch/priorityclasses": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of RoleBinding. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1RoleBindingListForAllNamespaces", + "description": "watch individual changes to a list of PriorityClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchSchedulingV1PriorityClassList", "produces": [ "application/json", "application/yaml", @@ -77137,12 +82831,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "scheduling_v1" ], "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "RoleBinding", + "group": "scheduling.k8s.io", + "kind": "PriorityClass", "version": "v1" } }, @@ -77182,13 +82876,13 @@ } ] }, - "/apis/rbac.authorization.k8s.io/v1/watch/roles": { + "/apis/scheduling.k8s.io/v1/watch/priorityclasses/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of Role. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchRbacAuthorizationV1RoleListForAllNamespaces", + "description": "watch changes to an object of kind PriorityClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchSchedulingV1PriorityClass", "produces": [ "application/json", "application/yaml", @@ -77211,12 +82905,12 @@ "https" ], "tags": [ - "rbacAuthorization_v1" + "scheduling_v1" ], - "x-kubernetes-action": "watchlist", + "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { - "group": "rbac.authorization.k8s.io", - "kind": "Role", + "group": "scheduling.k8s.io", + "kind": "PriorityClass", "version": "v1" } }, @@ -77236,6 +82930,14 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, + { + "description": "name of the PriorityClass", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -77256,7 +82958,7 @@ } ] }, - "/apis/scheduling.k8s.io/": { + "/apis/storage.k8s.io/": { "get": { "consumes": [ "application/json", @@ -77264,7 +82966,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get information of a group", - "operationId": "getSchedulingAPIGroup", + "operationId": "getStorageAPIGroup", "produces": [ "application/json", "application/yaml", @@ -77285,11 +82987,11 @@ "https" ], "tags": [ - "scheduling" + "storage" ] } }, - "/apis/scheduling.k8s.io/v1/": { + "/apis/storage.k8s.io/v1/": { "get": { "consumes": [ "application/json", @@ -77297,7 +82999,7 @@ "application/vnd.kubernetes.protobuf" ], "description": "get available resources", - "operationId": "getSchedulingV1APIResources", + "operationId": "getStorageV1APIResources", "produces": [ "application/json", "application/yaml", @@ -77318,17 +83020,17 @@ "https" ], "tags": [ - "scheduling_v1" + "storage_v1" ] } }, - "/apis/scheduling.k8s.io/v1/priorityclasses": { + "/apis/storage.k8s.io/v1/csidrivers": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of PriorityClass", - "operationId": "deleteSchedulingV1CollectionPriorityClass", + "description": "delete collection of CSIDriver", + "operationId": "deleteStorageV1CollectionCSIDriver", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -77397,12 +83099,12 @@ "https" ], "tags": [ - "scheduling_v1" + "storage_v1" ], "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { - "group": "scheduling.k8s.io", - "kind": "PriorityClass", + "group": "storage.k8s.io", + "kind": "CSIDriver", "version": "v1" } }, @@ -77410,8 +83112,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind PriorityClass", - "operationId": "listSchedulingV1PriorityClass", + "description": "list or watch objects of kind CSIDriver", + "operationId": "listStorageV1CSIDriver", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -77455,7 +83157,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClassList" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriverList" } }, "401": { @@ -77466,12 +83168,12 @@ "https" ], "tags": [ - "scheduling_v1" + "storage_v1" ], "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { - "group": "scheduling.k8s.io", - "kind": "PriorityClass", + "group": "storage.k8s.io", + "kind": "CSIDriver", "version": "v1" } }, @@ -77484,15 +83186,15 @@ "consumes": [ "*/*" ], - "description": "create a PriorityClass", - "operationId": "createSchedulingV1PriorityClass", + "description": "create a CSIDriver", + "operationId": "createStorageV1CSIDriver", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, { @@ -77522,19 +83224,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, "401": { @@ -77545,23 +83247,23 @@ "https" ], "tags": [ - "scheduling_v1" + "storage_v1" ], "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { - "group": "scheduling.k8s.io", - "kind": "PriorityClass", + "group": "storage.k8s.io", + "kind": "CSIDriver", "version": "v1" } } }, - "/apis/scheduling.k8s.io/v1/priorityclasses/{name}": { + "/apis/storage.k8s.io/v1/csidrivers/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a PriorityClass", - "operationId": "deleteSchedulingV1PriorityClass", + "description": "delete a CSIDriver", + "operationId": "deleteStorageV1CSIDriver", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -77595,13 +83297,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, "401": { @@ -77612,12 +83314,12 @@ "https" ], "tags": [ - "scheduling_v1" + "storage_v1" ], "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { - "group": "scheduling.k8s.io", - "kind": "PriorityClass", + "group": "storage.k8s.io", + "kind": "CSIDriver", "version": "v1" } }, @@ -77625,8 +83327,8 @@ "consumes": [ "*/*" ], - "description": "read the specified PriorityClass", - "operationId": "readSchedulingV1PriorityClass", + "description": "read the specified CSIDriver", + "operationId": "readStorageV1CSIDriver", "produces": [ "application/json", "application/yaml", @@ -77636,7 +83338,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, "401": { @@ -77647,18 +83349,18 @@ "https" ], "tags": [ - "scheduling_v1" + "storage_v1" ], "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { - "group": "scheduling.k8s.io", - "kind": "PriorityClass", + "group": "storage.k8s.io", + "kind": "CSIDriver", "version": "v1" } }, "parameters": [ { - "description": "name of the PriorityClass", + "description": "name of the CSIDriver", "in": "path", "name": "name", "required": true, @@ -77676,8 +83378,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified PriorityClass", - "operationId": "patchSchedulingV1PriorityClass", + "description": "partially update the specified CSIDriver", + "operationId": "patchStorageV1CSIDriver", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -77712,13 +83414,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, "401": { @@ -77729,12 +83431,12 @@ "https" ], "tags": [ - "scheduling_v1" + "storage_v1" ], "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { - "group": "scheduling.k8s.io", - "kind": "PriorityClass", + "group": "storage.k8s.io", + "kind": "CSIDriver", "version": "v1" } }, @@ -77742,15 +83444,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified PriorityClass", - "operationId": "replaceSchedulingV1PriorityClass", + "description": "replace the specified CSIDriver", + "operationId": "replaceStorageV1CSIDriver", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, { @@ -77780,13 +83482,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.scheduling.v1.PriorityClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" } }, "401": { @@ -77797,245 +83499,23 @@ "https" ], "tags": [ - "scheduling_v1" + "storage_v1" ], "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { - "group": "scheduling.k8s.io", - "kind": "PriorityClass", - "version": "v1" - } - } - }, - "/apis/scheduling.k8s.io/v1/watch/priorityclasses": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of PriorityClass. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchSchedulingV1PriorityClassList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "scheduling_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "scheduling.k8s.io", - "kind": "PriorityClass", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/scheduling.k8s.io/v1/watch/priorityclasses/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind PriorityClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchSchedulingV1PriorityClass", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "scheduling_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "scheduling.k8s.io", - "kind": "PriorityClass", + "group": "storage.k8s.io", + "kind": "CSIDriver", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "description": "name of the PriorityClass", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/storage.k8s.io/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get information of a group", - "operationId": "getStorageAPIGroup", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "storage" - ] - } - }, - "/apis/storage.k8s.io/v1/": { - "get": { - "consumes": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "description": "get available resources", - "operationId": "getStorageV1APIResources", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "storage_v1" - ] } }, - "/apis/storage.k8s.io/v1/csidrivers": { + "/apis/storage.k8s.io/v1/csinodes": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of CSIDriver", - "operationId": "deleteStorageV1CollectionCSIDriver", + "description": "delete collection of CSINode", + "operationId": "deleteStorageV1CollectionCSINode", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -78109,7 +83589,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIDriver", + "kind": "CSINode", "version": "v1" } }, @@ -78117,8 +83597,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind CSIDriver", - "operationId": "listStorageV1CSIDriver", + "description": "list or watch objects of kind CSINode", + "operationId": "listStorageV1CSINode", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -78162,7 +83642,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriverList" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINodeList" } }, "401": { @@ -78178,7 +83658,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIDriver", + "kind": "CSINode", "version": "v1" } }, @@ -78191,15 +83671,15 @@ "consumes": [ "*/*" ], - "description": "create a CSIDriver", - "operationId": "createStorageV1CSIDriver", + "description": "create a CSINode", + "operationId": "createStorageV1CSINode", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, { @@ -78229,19 +83709,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, "401": { @@ -78257,18 +83737,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIDriver", + "kind": "CSINode", "version": "v1" } } }, - "/apis/storage.k8s.io/v1/csidrivers/{name}": { + "/apis/storage.k8s.io/v1/csinodes/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a CSIDriver", - "operationId": "deleteStorageV1CSIDriver", + "description": "delete a CSINode", + "operationId": "deleteStorageV1CSINode", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -78302,13 +83782,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, "401": { @@ -78324,7 +83804,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIDriver", + "kind": "CSINode", "version": "v1" } }, @@ -78332,8 +83812,8 @@ "consumes": [ "*/*" ], - "description": "read the specified CSIDriver", - "operationId": "readStorageV1CSIDriver", + "description": "read the specified CSINode", + "operationId": "readStorageV1CSINode", "produces": [ "application/json", "application/yaml", @@ -78343,7 +83823,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, "401": { @@ -78359,13 +83839,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIDriver", + "kind": "CSINode", "version": "v1" } }, "parameters": [ { - "description": "name of the CSIDriver", + "description": "name of the CSINode", "in": "path", "name": "name", "required": true, @@ -78383,8 +83863,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified CSIDriver", - "operationId": "patchStorageV1CSIDriver", + "description": "partially update the specified CSINode", + "operationId": "patchStorageV1CSINode", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -78419,13 +83899,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, "401": { @@ -78441,7 +83921,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIDriver", + "kind": "CSINode", "version": "v1" } }, @@ -78449,15 +83929,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified CSIDriver", - "operationId": "replaceStorageV1CSIDriver", + "description": "replace the specified CSINode", + "operationId": "replaceStorageV1CSINode", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, { @@ -78487,13 +83967,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIDriver" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" } }, "401": { @@ -78509,18 +83989,92 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIDriver", + "kind": "CSINode", "version": "v1" } } }, - "/apis/storage.k8s.io/v1/csinodes": { + "/apis/storage.k8s.io/v1/csistoragecapacities": { + "get": { + "consumes": [ + "*/*" + ], + "description": "list or watch objects of kind CSIStorageCapacity", + "operationId": "listStorageV1CSIStorageCapacityForAllNamespaces", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacityList" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "CSIStorageCapacity", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of CSINode", - "operationId": "deleteStorageV1CollectionCSINode", + "description": "delete collection of CSIStorageCapacity", + "operationId": "deleteStorageV1CollectionNamespacedCSIStorageCapacity", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -78594,7 +84148,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSINode", + "kind": "CSIStorageCapacity", "version": "v1" } }, @@ -78602,8 +84156,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind CSINode", - "operationId": "listStorageV1CSINode", + "description": "list or watch objects of kind CSIStorageCapacity", + "operationId": "listStorageV1NamespacedCSIStorageCapacity", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -78647,7 +84201,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINodeList" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacityList" } }, "401": { @@ -78663,11 +84217,14 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSINode", + "kind": "CSIStorageCapacity", "version": "v1" } }, "parameters": [ + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -78676,15 +84233,15 @@ "consumes": [ "*/*" ], - "description": "create a CSINode", - "operationId": "createStorageV1CSINode", + "description": "create a CSIStorageCapacity", + "operationId": "createStorageV1NamespacedCSIStorageCapacity", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" } }, { @@ -78714,19 +84271,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" } }, "401": { @@ -78742,18 +84299,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSINode", + "kind": "CSIStorageCapacity", "version": "v1" } } }, - "/apis/storage.k8s.io/v1/csinodes/{name}": { + "/apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a CSINode", - "operationId": "deleteStorageV1CSINode", + "description": "delete a CSIStorageCapacity", + "operationId": "deleteStorageV1NamespacedCSIStorageCapacity", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -78787,13 +84344,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" } }, "401": { @@ -78809,7 +84366,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSINode", + "kind": "CSIStorageCapacity", "version": "v1" } }, @@ -78817,8 +84374,8 @@ "consumes": [ "*/*" ], - "description": "read the specified CSINode", - "operationId": "readStorageV1CSINode", + "description": "read the specified CSIStorageCapacity", + "operationId": "readStorageV1NamespacedCSIStorageCapacity", "produces": [ "application/json", "application/yaml", @@ -78828,7 +84385,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" } }, "401": { @@ -78844,19 +84401,22 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSINode", + "kind": "CSIStorageCapacity", "version": "v1" } }, "parameters": [ { - "description": "name of the CSINode", + "description": "name of the CSIStorageCapacity", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, + { + "$ref": "#/parameters/namespace-vgWSWtn3" + }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -78868,8 +84428,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified CSINode", - "operationId": "patchStorageV1CSINode", + "description": "partially update the specified CSIStorageCapacity", + "operationId": "patchStorageV1NamespacedCSIStorageCapacity", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -78904,13 +84464,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" } }, "401": { @@ -78926,7 +84486,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSINode", + "kind": "CSIStorageCapacity", "version": "v1" } }, @@ -78934,15 +84494,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified CSINode", - "operationId": "replaceStorageV1CSINode", + "description": "replace the specified CSIStorageCapacity", + "operationId": "replaceStorageV1NamespacedCSIStorageCapacity", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" } }, { @@ -78972,13 +84532,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSINode" + "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" } }, "401": { @@ -78992,94 +84552,20 @@ "storage_v1" ], "x-kubernetes-action": "put", - "x-kubernetes-group-version-kind": { - "group": "storage.k8s.io", - "kind": "CSINode", - "version": "v1" - } - } - }, - "/apis/storage.k8s.io/v1/csistoragecapacities": { - "get": { - "consumes": [ - "*/*" - ], - "description": "list or watch objects of kind CSIStorageCapacity", - "operationId": "listStorageV1CSIStorageCapacityForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacityList" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "storage_v1" - ], - "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", "kind": "CSIStorageCapacity", "version": "v1" } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] + } }, - "/apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities": { + "/apis/storage.k8s.io/v1/storageclasses": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of CSIStorageCapacity", - "operationId": "deleteStorageV1CollectionNamespacedCSIStorageCapacity", + "description": "delete collection of StorageClass", + "operationId": "deleteStorageV1CollectionStorageClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -79153,7 +84639,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", + "kind": "StorageClass", "version": "v1" } }, @@ -79161,8 +84647,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind CSIStorageCapacity", - "operationId": "listStorageV1NamespacedCSIStorageCapacity", + "description": "list or watch objects of kind StorageClass", + "operationId": "listStorageV1StorageClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -79206,7 +84692,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacityList" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClassList" } }, "401": { @@ -79222,14 +84708,11 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", + "kind": "StorageClass", "version": "v1" } }, "parameters": [ - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -79238,15 +84721,15 @@ "consumes": [ "*/*" ], - "description": "create a CSIStorageCapacity", - "operationId": "createStorageV1NamespacedCSIStorageCapacity", + "description": "create a StorageClass", + "operationId": "createStorageV1StorageClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, { @@ -79276,19 +84759,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, "401": { @@ -79304,18 +84787,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", + "kind": "StorageClass", "version": "v1" } } }, - "/apis/storage.k8s.io/v1/namespaces/{namespace}/csistoragecapacities/{name}": { + "/apis/storage.k8s.io/v1/storageclasses/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a CSIStorageCapacity", - "operationId": "deleteStorageV1NamespacedCSIStorageCapacity", + "description": "delete a StorageClass", + "operationId": "deleteStorageV1StorageClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -79349,13 +84832,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, "401": { @@ -79371,7 +84854,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", + "kind": "StorageClass", "version": "v1" } }, @@ -79379,8 +84862,8 @@ "consumes": [ "*/*" ], - "description": "read the specified CSIStorageCapacity", - "operationId": "readStorageV1NamespacedCSIStorageCapacity", + "description": "read the specified StorageClass", + "operationId": "readStorageV1StorageClass", "produces": [ "application/json", "application/yaml", @@ -79390,7 +84873,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, "401": { @@ -79406,22 +84889,19 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", + "kind": "StorageClass", "version": "v1" } }, "parameters": [ { - "description": "name of the CSIStorageCapacity", + "description": "name of the StorageClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" } @@ -79433,8 +84913,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified CSIStorageCapacity", - "operationId": "patchStorageV1NamespacedCSIStorageCapacity", + "description": "partially update the specified StorageClass", + "operationId": "patchStorageV1StorageClass", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -79469,13 +84949,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, "401": { @@ -79491,7 +84971,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", + "kind": "StorageClass", "version": "v1" } }, @@ -79499,15 +84979,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified CSIStorageCapacity", - "operationId": "replaceStorageV1NamespacedCSIStorageCapacity", + "description": "replace the specified StorageClass", + "operationId": "replaceStorageV1StorageClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, { @@ -79537,13 +85017,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.CSIStorageCapacity" + "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" } }, "401": { @@ -79559,18 +85039,18 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", + "kind": "StorageClass", "version": "v1" } } }, - "/apis/storage.k8s.io/v1/storageclasses": { + "/apis/storage.k8s.io/v1/volumeattachments": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of StorageClass", - "operationId": "deleteStorageV1CollectionStorageClass", + "description": "delete collection of VolumeAttachment", + "operationId": "deleteStorageV1CollectionVolumeAttachment", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -79644,7 +85124,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", + "kind": "VolumeAttachment", "version": "v1" } }, @@ -79652,8 +85132,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind StorageClass", - "operationId": "listStorageV1StorageClass", + "description": "list or watch objects of kind VolumeAttachment", + "operationId": "listStorageV1VolumeAttachment", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -79697,7 +85177,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClassList" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachmentList" } }, "401": { @@ -79713,7 +85193,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", + "kind": "VolumeAttachment", "version": "v1" } }, @@ -79726,15 +85206,15 @@ "consumes": [ "*/*" ], - "description": "create a StorageClass", - "operationId": "createStorageV1StorageClass", + "description": "create a VolumeAttachment", + "operationId": "createStorageV1VolumeAttachment", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, { @@ -79764,19 +85244,203 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "VolumeAttachment", + "version": "v1" + } + } + }, + "/apis/storage.k8s.io/v1/volumeattachments/{name}": { + "delete": { + "consumes": [ + "*/*" + ], + "description": "delete a VolumeAttachment", + "operationId": "deleteStorageV1VolumeAttachment", + "parameters": [ + { + "$ref": "#/parameters/body-2Y1dVQaQ" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" + }, + { + "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" + }, + { + "$ref": "#/parameters/orphanDependents-uRB25kX5" + }, + { + "$ref": "#/parameters/propagationPolicy-6jk3prlO" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "VolumeAttachment", + "version": "v1" + } + }, + "get": { + "consumes": [ + "*/*" + ], + "description": "read the specified VolumeAttachment", + "operationId": "readStorageV1VolumeAttachment", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "VolumeAttachment", + "version": "v1" + } + }, + "parameters": [ + { + "description": "name of the VolumeAttachment", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + } + ], + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "description": "partially update the specified VolumeAttachment", + "operationId": "patchStorageV1VolumeAttachment", + "parameters": [ + { + "$ref": "#/parameters/body-78PwaGsr" + }, + { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "in": "query", + "name": "dryRun", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/fieldManager-7c6nTn1T" + }, + { + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/force-tOGGb0Yi" + } + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, "401": { @@ -79789,24 +85453,27 @@ "tags": [ "storage_v1" ], - "x-kubernetes-action": "post", + "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", + "kind": "VolumeAttachment", "version": "v1" } - } - }, - "/apis/storage.k8s.io/v1/storageclasses/{name}": { - "delete": { + }, + "put": { "consumes": [ "*/*" ], - "description": "delete a StorageClass", - "operationId": "deleteStorageV1StorageClass", + "description": "replace the specified VolumeAttachment", + "operationId": "replaceStorageV1VolumeAttachment", "parameters": [ { - "$ref": "#/parameters/body-2Y1dVQaQ" + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + } }, { "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", @@ -79816,16 +85483,14 @@ "uniqueItems": true }, { - "$ref": "#/parameters/gracePeriodSeconds--K5HaBOS" - }, - { - "$ref": "#/parameters/ignoreStoreReadErrorWithClusterBreakingPotential-QbNkfIqj" - }, - { - "$ref": "#/parameters/orphanDependents-uRB25kX5" + "$ref": "#/parameters/fieldManager-Qy4HdaTW" }, { - "$ref": "#/parameters/propagationPolicy-6jk3prlO" + "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", + "in": "query", + "name": "fieldValidation", + "type": "string", + "uniqueItems": true } ], "produces": [ @@ -79837,13 +85502,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, - "202": { - "description": "Accepted", + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, "401": { @@ -79856,19 +85521,21 @@ "tags": [ "storage_v1" ], - "x-kubernetes-action": "delete", + "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", + "kind": "VolumeAttachment", "version": "v1" } - }, + } + }, + "/apis/storage.k8s.io/v1/volumeattachments/{name}/status": { "get": { "consumes": [ "*/*" ], - "description": "read the specified StorageClass", - "operationId": "readStorageV1StorageClass", + "description": "read status of the specified VolumeAttachment", + "operationId": "readStorageV1VolumeAttachmentStatus", "produces": [ "application/json", "application/yaml", @@ -79878,7 +85545,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, "401": { @@ -79894,13 +85561,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", + "kind": "VolumeAttachment", "version": "v1" } }, "parameters": [ { - "description": "name of the StorageClass", + "description": "name of the VolumeAttachment", "in": "path", "name": "name", "required": true, @@ -79918,8 +85585,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified StorageClass", - "operationId": "patchStorageV1StorageClass", + "description": "partially update status of the specified VolumeAttachment", + "operationId": "patchStorageV1VolumeAttachmentStatus", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -79954,13 +85621,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, "401": { @@ -79976,7 +85643,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", + "kind": "VolumeAttachment", "version": "v1" } }, @@ -79984,15 +85651,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified StorageClass", - "operationId": "replaceStorageV1StorageClass", + "description": "replace status of the specified VolumeAttachment", + "operationId": "replaceStorageV1VolumeAttachmentStatus", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, { @@ -80022,13 +85689,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.StorageClass" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" } }, "401": { @@ -80044,18 +85711,18 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", + "kind": "VolumeAttachment", "version": "v1" } } }, - "/apis/storage.k8s.io/v1/volumeattachments": { + "/apis/storage.k8s.io/v1/volumeattributesclasses": { "delete": { "consumes": [ "*/*" ], - "description": "delete collection of VolumeAttachment", - "operationId": "deleteStorageV1CollectionVolumeAttachment", + "description": "delete collection of VolumeAttributesClass", + "operationId": "deleteStorageV1CollectionVolumeAttributesClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -80129,7 +85796,7 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "VolumeAttributesClass", "version": "v1" } }, @@ -80137,8 +85804,8 @@ "consumes": [ "*/*" ], - "description": "list or watch objects of kind VolumeAttachment", - "operationId": "listStorageV1VolumeAttachment", + "description": "list or watch objects of kind VolumeAttributesClass", + "operationId": "listStorageV1VolumeAttributesClass", "parameters": [ { "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" @@ -80182,7 +85849,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachmentList" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClassList" } }, "401": { @@ -80198,7 +85865,7 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "VolumeAttributesClass", "version": "v1" } }, @@ -80211,15 +85878,15 @@ "consumes": [ "*/*" ], - "description": "create a VolumeAttachment", - "operationId": "createStorageV1VolumeAttachment", + "description": "create a VolumeAttributesClass", + "operationId": "createStorageV1VolumeAttributesClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, { @@ -80249,19 +85916,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, "401": { @@ -80277,18 +85944,18 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "VolumeAttributesClass", "version": "v1" } } }, - "/apis/storage.k8s.io/v1/volumeattachments/{name}": { + "/apis/storage.k8s.io/v1/volumeattributesclasses/{name}": { "delete": { "consumes": [ "*/*" ], - "description": "delete a VolumeAttachment", - "operationId": "deleteStorageV1VolumeAttachment", + "description": "delete a VolumeAttributesClass", + "operationId": "deleteStorageV1VolumeAttributesClass", "parameters": [ { "$ref": "#/parameters/body-2Y1dVQaQ" @@ -80322,13 +85989,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, "202": { "description": "Accepted", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, "401": { @@ -80344,7 +86011,7 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "VolumeAttributesClass", "version": "v1" } }, @@ -80352,8 +86019,8 @@ "consumes": [ "*/*" ], - "description": "read the specified VolumeAttachment", - "operationId": "readStorageV1VolumeAttachment", + "description": "read the specified VolumeAttributesClass", + "operationId": "readStorageV1VolumeAttributesClass", "produces": [ "application/json", "application/yaml", @@ -80363,7 +86030,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, "401": { @@ -80379,13 +86046,13 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "VolumeAttributesClass", "version": "v1" } }, "parameters": [ { - "description": "name of the VolumeAttachment", + "description": "name of the VolumeAttributesClass", "in": "path", "name": "name", "required": true, @@ -80403,8 +86070,8 @@ "application/strategic-merge-patch+json", "application/apply-patch+yaml" ], - "description": "partially update the specified VolumeAttachment", - "operationId": "patchStorageV1VolumeAttachment", + "description": "partially update the specified VolumeAttributesClass", + "operationId": "patchStorageV1VolumeAttributesClass", "parameters": [ { "$ref": "#/parameters/body-78PwaGsr" @@ -80439,13 +86106,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, "401": { @@ -80461,7 +86128,7 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "VolumeAttributesClass", "version": "v1" } }, @@ -80469,15 +86136,15 @@ "consumes": [ "*/*" ], - "description": "replace the specified VolumeAttachment", - "operationId": "replaceStorageV1VolumeAttachment", + "description": "replace the specified VolumeAttributesClass", + "operationId": "replaceStorageV1VolumeAttributesClass", "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, { @@ -80507,13 +86174,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttributesClass" } }, "401": { @@ -80529,28 +86196,30 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "VolumeAttributesClass", "version": "v1" } } }, - "/apis/storage.k8s.io/v1/volumeattachments/{name}/status": { + "/apis/storage.k8s.io/v1/watch/csidrivers": { "get": { "consumes": [ "*/*" ], - "description": "read status of the specified VolumeAttachment", - "operationId": "readStorageV1VolumeAttachmentStatus", + "description": "watch individual changes to a list of CSIDriver. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1CSIDriverList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -80563,16 +86232,105 @@ "tags": [ "storage_v1" ], - "x-kubernetes-action": "get", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "CSIDriver", "version": "v1" } }, "parameters": [ { - "description": "name of the VolumeAttachment", + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/storage.k8s.io/v1/watch/csidrivers/{name}": { + "get": { + "consumes": [ + "*/*" + ], + "description": "watch changes to an object of kind CSIDriver. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1CSIDriver", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "CSIDriver", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the CSIDriver", "in": "path", "name": "name", "required": true, @@ -80581,58 +86339,43 @@ }, { "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" } - ], - "patch": { + ] + }, + "/apis/storage.k8s.io/v1/watch/csinodes": { + "get": { "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json", - "application/apply-patch+yaml" - ], - "description": "partially update status of the specified VolumeAttachment", - "operationId": "patchStorageV1VolumeAttachmentStatus", - "parameters": [ - { - "$ref": "#/parameters/body-78PwaGsr" - }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-7c6nTn1T" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/force-tOGGb0Yi" - } + "*/*" ], + "description": "watch individual changes to a list of CSINode. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1CSINodeList", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -80645,62 +86388,150 @@ "tags": [ "storage_v1" ], - "x-kubernetes-action": "patch", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "CSINode", "version": "v1" } }, - "put": { + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/storage.k8s.io/v1/watch/csinodes/{name}": { + "get": { "consumes": [ "*/*" ], - "description": "replace status of the specified VolumeAttachment", - "operationId": "replaceStorageV1VolumeAttachmentStatus", - "parameters": [ - { - "in": "body", - "name": "body", - "required": true, + "description": "watch changes to an object of kind CSINode. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1CSINode", + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, - { - "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", - "in": "query", - "name": "dryRun", - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/fieldManager-Qy4HdaTW" - }, - { - "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.", - "in": "query", - "name": "fieldValidation", - "type": "string", - "uniqueItems": true + "401": { + "description": "Unauthorized" } + }, + "schemes": [ + "https" + ], + "tags": [ + "storage_v1" + ], + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "storage.k8s.io", + "kind": "CSINode", + "version": "v1" + } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "description": "name of the CSINode", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "uniqueItems": true + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] + }, + "/apis/storage.k8s.io/v1/watch/csistoragecapacities": { + "get": { + "consumes": [ + "*/*" ], + "description": "watch individual changes to a list of CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1CSIStorageCapacityListForAllNamespaces", "produces": [ "application/json", "application/yaml", - "application/vnd.kubernetes.protobuf" + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/io.k8s.api.storage.v1.VolumeAttachment" + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" } }, "401": { @@ -80713,21 +86544,56 @@ "tags": [ "storage_v1" ], - "x-kubernetes-action": "put", + "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "CSIStorageCapacity", "version": "v1" } - } + }, + "parameters": [ + { + "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" + }, + { + "$ref": "#/parameters/continue-QfD61s0i" + }, + { + "$ref": "#/parameters/fieldSelector-xIcQKXFG" + }, + { + "$ref": "#/parameters/labelSelector-5Zw57w4C" + }, + { + "$ref": "#/parameters/limit-1NfNmdNH" + }, + { + "$ref": "#/parameters/pretty-tJGM1-ng" + }, + { + "$ref": "#/parameters/resourceVersion-5WAnf1kx" + }, + { + "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" + }, + { + "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" + }, + { + "$ref": "#/parameters/timeoutSeconds-yvYezaOC" + }, + { + "$ref": "#/parameters/watch-XNNPZGbK" + } + ] }, - "/apis/storage.k8s.io/v1/watch/csidrivers": { + "/apis/storage.k8s.io/v1/watch/namespaces/{namespace}/csistoragecapacities": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of CSIDriver. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1CSIDriverList", + "description": "watch individual changes to a list of CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1NamespacedCSIStorageCapacityList", "produces": [ "application/json", "application/yaml", @@ -80755,81 +86621,7 @@ "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIDriver", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/storage.k8s.io/v1/watch/csidrivers/{name}": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch changes to an object of kind CSIDriver. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1CSIDriver", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "storage_v1" - ], - "x-kubernetes-action": "watch", - "x-kubernetes-group-version-kind": { - "group": "storage.k8s.io", - "kind": "CSIDriver", + "kind": "CSIStorageCapacity", "version": "v1" } }, @@ -80850,86 +86642,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the CSIDriver", - "in": "path", - "name": "name", - "required": true, - "type": "string", - "uniqueItems": true - }, - { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/storage.k8s.io/v1/watch/csinodes": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of CSINode. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1CSINodeList", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "storage_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "storage.k8s.io", - "kind": "CSINode", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" @@ -80951,13 +86664,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/csinodes/{name}": { + "/apis/storage.k8s.io/v1/watch/namespaces/{namespace}/csistoragecapacities/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind CSINode. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1CSINode", + "description": "watch changes to an object of kind CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1NamespacedCSIStorageCapacity", "produces": [ "application/json", "application/yaml", @@ -80985,7 +86698,7 @@ "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSINode", + "kind": "CSIStorageCapacity", "version": "v1" } }, @@ -81006,7 +86719,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the CSINode", + "description": "name of the CSIStorageCapacity", "in": "path", "name": "name", "required": true, @@ -81014,78 +86727,7 @@ "uniqueItems": true }, { - "$ref": "#/parameters/pretty-tJGM1-ng" - }, - { - "$ref": "#/parameters/resourceVersion-5WAnf1kx" - }, - { - "$ref": "#/parameters/resourceVersionMatch-t8XhRHeC" - }, - { - "$ref": "#/parameters/sendInitialEvents-rLXlEK_k" - }, - { - "$ref": "#/parameters/timeoutSeconds-yvYezaOC" - }, - { - "$ref": "#/parameters/watch-XNNPZGbK" - } - ] - }, - "/apis/storage.k8s.io/v1/watch/csistoragecapacities": { - "get": { - "consumes": [ - "*/*" - ], - "description": "watch individual changes to a list of CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1CSIStorageCapacityListForAllNamespaces", - "produces": [ - "application/json", - "application/yaml", - "application/vnd.kubernetes.protobuf", - "application/json;stream=watch", - "application/vnd.kubernetes.protobuf;stream=watch" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" - } - }, - "401": { - "description": "Unauthorized" - } - }, - "schemes": [ - "https" - ], - "tags": [ - "storage_v1" - ], - "x-kubernetes-action": "watchlist", - "x-kubernetes-group-version-kind": { - "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", - "version": "v1" - } - }, - "parameters": [ - { - "$ref": "#/parameters/allowWatchBookmarks-HC2hJt-J" - }, - { - "$ref": "#/parameters/continue-QfD61s0i" - }, - { - "$ref": "#/parameters/fieldSelector-xIcQKXFG" - }, - { - "$ref": "#/parameters/labelSelector-5Zw57w4C" - }, - { - "$ref": "#/parameters/limit-1NfNmdNH" + "$ref": "#/parameters/namespace-vgWSWtn3" }, { "$ref": "#/parameters/pretty-tJGM1-ng" @@ -81107,13 +86749,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/namespaces/{namespace}/csistoragecapacities": { + "/apis/storage.k8s.io/v1/watch/storageclasses": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1NamespacedCSIStorageCapacityList", + "description": "watch individual changes to a list of StorageClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1StorageClassList", "produces": [ "application/json", "application/yaml", @@ -81141,7 +86783,7 @@ "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", + "kind": "StorageClass", "version": "v1" } }, @@ -81161,9 +86803,6 @@ { "$ref": "#/parameters/limit-1NfNmdNH" }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -81184,13 +86823,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/namespaces/{namespace}/csistoragecapacities/{name}": { + "/apis/storage.k8s.io/v1/watch/storageclasses/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind CSIStorageCapacity. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1NamespacedCSIStorageCapacity", + "description": "watch changes to an object of kind StorageClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1StorageClass", "produces": [ "application/json", "application/yaml", @@ -81218,7 +86857,7 @@ "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "CSIStorageCapacity", + "kind": "StorageClass", "version": "v1" } }, @@ -81239,16 +86878,13 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the CSIStorageCapacity", + "description": "name of the StorageClass", "in": "path", "name": "name", "required": true, "type": "string", "uniqueItems": true }, - { - "$ref": "#/parameters/namespace-vgWSWtn3" - }, { "$ref": "#/parameters/pretty-tJGM1-ng" }, @@ -81269,13 +86905,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/storageclasses": { + "/apis/storage.k8s.io/v1/watch/volumeattachments": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of StorageClass. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1StorageClassList", + "description": "watch individual changes to a list of VolumeAttachment. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1VolumeAttachmentList", "produces": [ "application/json", "application/yaml", @@ -81303,7 +86939,7 @@ "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", + "kind": "VolumeAttachment", "version": "v1" } }, @@ -81343,13 +86979,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/storageclasses/{name}": { + "/apis/storage.k8s.io/v1/watch/volumeattachments/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind StorageClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1StorageClass", + "description": "watch changes to an object of kind VolumeAttachment. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1VolumeAttachment", "produces": [ "application/json", "application/yaml", @@ -81377,7 +87013,7 @@ "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "StorageClass", + "kind": "VolumeAttachment", "version": "v1" } }, @@ -81398,7 +87034,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the StorageClass", + "description": "name of the VolumeAttachment", "in": "path", "name": "name", "required": true, @@ -81425,13 +87061,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/volumeattachments": { + "/apis/storage.k8s.io/v1/watch/volumeattributesclasses": { "get": { "consumes": [ "*/*" ], - "description": "watch individual changes to a list of VolumeAttachment. deprecated: use the 'watch' parameter with a list operation instead.", - "operationId": "watchStorageV1VolumeAttachmentList", + "description": "watch individual changes to a list of VolumeAttributesClass. deprecated: use the 'watch' parameter with a list operation instead.", + "operationId": "watchStorageV1VolumeAttributesClassList", "produces": [ "application/json", "application/yaml", @@ -81459,7 +87095,7 @@ "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "VolumeAttributesClass", "version": "v1" } }, @@ -81499,13 +87135,13 @@ } ] }, - "/apis/storage.k8s.io/v1/watch/volumeattachments/{name}": { + "/apis/storage.k8s.io/v1/watch/volumeattributesclasses/{name}": { "get": { "consumes": [ "*/*" ], - "description": "watch changes to an object of kind VolumeAttachment. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", - "operationId": "watchStorageV1VolumeAttachment", + "description": "watch changes to an object of kind VolumeAttributesClass. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "operationId": "watchStorageV1VolumeAttributesClass", "produces": [ "application/json", "application/yaml", @@ -81533,7 +87169,7 @@ "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "storage.k8s.io", - "kind": "VolumeAttachment", + "kind": "VolumeAttributesClass", "version": "v1" } }, @@ -81554,7 +87190,7 @@ "$ref": "#/parameters/limit-1NfNmdNH" }, { - "description": "name of the VolumeAttachment", + "description": "name of the VolumeAttributesClass", "in": "path", "name": "name", "required": true, diff --git a/modules/ingress/traefik/base/resources/workloads/traefik/workloads/deployment.yaml b/modules/ingress/traefik/base/resources/workloads/traefik/workloads/deployment.yaml index e41ca90b..8ed01a7d 100644 --- a/modules/ingress/traefik/base/resources/workloads/traefik/workloads/deployment.yaml +++ b/modules/ingress/traefik/base/resources/workloads/traefik/workloads/deployment.yaml @@ -94,6 +94,8 @@ spec: value: PORT - name: METRICS_PORT value: PORT + - name: USER + value: traefik ports: - name: web containerPort: 11240 @@ -137,6 +139,8 @@ spec: volumeMounts: - name: tmp mountPath: /tmp + - name: data + mountPath: /data - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: serviceaccount-token readOnly: true @@ -144,6 +148,9 @@ spec: - name: tmp emptyDir: medium: Memory + - name: data + emptyDir: + medium: Memory - name: serviceaccount-token projected: defaultMode: 0444 From dd1539e3ab2efc0f221b8a7ed0668c921d99810e Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 10:43:56 +0100 Subject: [PATCH 06/19] docs: update k8s version in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f6c5154..dbdeee04 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ as possible. [License]: https://img.shields.io/github/license/mia-platform/distribution?color=informational&style=for-the-badge "Magellano License" -[Kubernetes]: https://img.shields.io/badge/kubernetes-1.33-success?style=for-the-badge&logo=kubernetes "Supported +[Kubernetes]: https://img.shields.io/badge/kubernetes-1.34-success?style=for-the-badge&logo=kubernetes "Supported Kubernetes version" [`vab`]: https://github.com/mia-platform/vab "cli for handling installation and upgrade of Mia-Platform unofficial distribution" From 5309b714b33828fed463ed21522485cdc9ad337f Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 10:58:31 +0100 Subject: [PATCH 07/19] docs: update traefik module compatibility matrix --- modules/ingress/traefik/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ingress/traefik/README.md b/modules/ingress/traefik/README.md index d74616f4..e2c2220f 100644 --- a/modules/ingress/traefik/README.md +++ b/modules/ingress/traefik/README.md @@ -66,7 +66,7 @@ Kubernetes: | Module Version | Tool Version | |----------------|----------------| -| 1.34.0 | 3.6.6 | +| 1.34.x | 3.6.6 | ## User customization From ffa532354aa000981626994bfc7dc690178468bc Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 11:07:57 +0100 Subject: [PATCH 08/19] feat: update logging-operator version in observability module --- .../logging-operator/CHANGELOG.md | 4 +- .../observability/logging-operator/README.md | 2 +- .../axosyslogs.logging.banzaicloud.io.yaml | 2 +- .../clusterflows.logging.banzaicloud.io.yaml | 2 +- ...clusteroutputs.logging.banzaicloud.io.yaml | 466 +++++++++++++++- ...ers.logging-extensions.banzaicloud.io.yaml | 25 +- .../crds/flows.logging.banzaicloud.io.yaml | 2 +- ...luentbitagents.logging.banzaicloud.io.yaml | 39 +- ...fluentdconfigs.logging.banzaicloud.io.yaml | 182 +++++- ...ers.logging-extensions.banzaicloud.io.yaml | 25 +- .../loggingroutes.logging.banzaicloud.io.yaml | 2 +- .../crds/loggings.logging.banzaicloud.io.yaml | 528 +++++++++++++++++- .../crds/outputs.logging.banzaicloud.io.yaml | 234 +++++++- ...ngclusterflows.logging.banzaicloud.io.yaml | 2 +- ...clusteroutputs.logging.banzaicloud.io.yaml | 2 +- ...yslogngconfigs.logging.banzaicloud.io.yaml | 306 +++++++++- .../syslogngflows.logging.banzaicloud.io.yaml | 2 +- ...yslogngoutputs.logging.banzaicloud.io.yaml | 2 +- .../base/resources/kustomization.yaml | 4 +- 19 files changed, 1785 insertions(+), 46 deletions(-) diff --git a/modules/observability/logging-operator/CHANGELOG.md b/modules/observability/logging-operator/CHANGELOG.md index 0b73d692..f98dc03b 100644 --- a/modules/observability/logging-operator/CHANGELOG.md +++ b/modules/observability/logging-operator/CHANGELOG.md @@ -7,8 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v1.33.0 - ### Changed -- update logging-operator to v6.0.3 +- update logging-operator to v6.3.0 diff --git a/modules/observability/logging-operator/README.md b/modules/observability/logging-operator/README.md index 718b503e..2944785a 100644 --- a/modules/observability/logging-operator/README.md +++ b/modules/observability/logging-operator/README.md @@ -35,7 +35,7 @@ This module use the following user, gid and fsGroup: | Module Version | Tool Version | |----------------|----------------| -| 1.33.x | 6.0.3 | +| 1.34.x | 6.3.0 | ## User customization diff --git a/modules/observability/logging-operator/base/crds/axosyslogs.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/axosyslogs.logging.banzaicloud.io.yaml index 8cb33909..fb0b4d96 100644 --- a/modules/observability/logging-operator/base/crds/axosyslogs.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/axosyslogs.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: axosyslogs.logging.banzaicloud.io spec: group: logging.banzaicloud.io diff --git a/modules/observability/logging-operator/base/crds/clusterflows.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/clusterflows.logging.banzaicloud.io.yaml index 3fcab634..0054d2b5 100644 --- a/modules/observability/logging-operator/base/crds/clusterflows.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/clusterflows.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: clusterflows.logging.banzaicloud.io spec: group: logging.banzaicloud.io diff --git a/modules/observability/logging-operator/base/crds/clusteroutputs.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/clusteroutputs.logging.banzaicloud.io.yaml index 4742517d..e98fe8a9 100644 --- a/modules/observability/logging-operator/base/crds/clusteroutputs.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/clusteroutputs.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: clusteroutputs.logging.banzaicloud.io spec: group: logging.banzaicloud.io @@ -6081,6 +6081,238 @@ spec: type: object protected: type: boolean + rabbitmq: + properties: + app_id: + type: string + auth_mechanism: + type: string + automatically_recover: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + connection_timeout: + type: integer + content_encoding: + type: string + content_type: + type: string + continuation_timeout: + type: integer + exchange: + type: string + exchange_durable: + type: boolean + exchange_no_declare: + type: boolean + exchange_type: + type: string + expiration: + type: integer + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + frame_max: + type: integer + heartbeat: + type: string + host: + type: string + hosts: + items: + type: string + type: array + id_key: + type: string + message_type: + type: string + network_recovery_interval: + type: integer + pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + persistent: + type: boolean + port: + type: integer + priority: + type: integer + recovery_attempts: + type: integer + routing_key: + type: string + timestamp: + type: boolean + tls: + type: boolean + tls_ca_certificates: + items: + type: string + type: array + tls_cert: + type: string + tls_key: + type: string + user: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify_peer: + type: boolean + vhost: + type: string + required: + - exchange + - exchange_type + type: object redis: properties: allow_duplicate_key: @@ -13752,6 +13984,238 @@ spec: type: object protected: type: boolean + rabbitmq: + properties: + app_id: + type: string + auth_mechanism: + type: string + automatically_recover: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + connection_timeout: + type: integer + content_encoding: + type: string + content_type: + type: string + continuation_timeout: + type: integer + exchange: + type: string + exchange_durable: + type: boolean + exchange_no_declare: + type: boolean + exchange_type: + type: string + expiration: + type: integer + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + frame_max: + type: integer + heartbeat: + type: string + host: + type: string + hosts: + items: + type: string + type: array + id_key: + type: string + message_type: + type: string + network_recovery_interval: + type: integer + pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + persistent: + type: boolean + port: + type: integer + priority: + type: integer + recovery_attempts: + type: integer + routing_key: + type: string + timestamp: + type: boolean + tls: + type: boolean + tls_ca_certificates: + items: + type: string + type: array + tls_cert: + type: string + tls_key: + type: string + user: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify_peer: + type: boolean + vhost: + type: string + required: + - exchange + - exchange_type + type: object redis: properties: allow_duplicate_key: diff --git a/modules/observability/logging-operator/base/crds/eventtailers.logging-extensions.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/eventtailers.logging-extensions.banzaicloud.io.yaml index b0aba476..506b67ac 100644 --- a/modules/observability/logging-operator/base/crds/eventtailers.logging-extensions.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/eventtailers.logging-extensions.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: eventtailers.logging-extensions.banzaicloud.io spec: group: logging-extensions.banzaicloud.io @@ -2311,6 +2311,29 @@ spec: type: array x-kubernetes-list-type: atomic type: object + podCertificate: + properties: + certificateChainPath: + type: string + credentialBundlePath: + type: string + keyPath: + type: string + keyType: + type: string + maxExpirationSeconds: + format: int32 + type: integer + signerName: + type: string + userAnnotations: + additionalProperties: + type: string + type: object + required: + - keyType + - signerName + type: object secret: properties: items: diff --git a/modules/observability/logging-operator/base/crds/flows.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/flows.logging.banzaicloud.io.yaml index 4c9c4ada..29289dec 100644 --- a/modules/observability/logging-operator/base/crds/flows.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/flows.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: flows.logging.banzaicloud.io spec: group: logging.banzaicloud.io diff --git a/modules/observability/logging-operator/base/crds/fluentbitagents.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/fluentbitagents.logging.banzaicloud.io.yaml index 2ee569d7..4dd22fa9 100644 --- a/modules/observability/logging-operator/base/crds/fluentbitagents.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/fluentbitagents.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: fluentbitagents.logging.banzaicloud.io spec: group: logging.banzaicloud.io @@ -789,6 +789,8 @@ spec: type: object bufferVolumeMetrics: properties: + enabled: + type: boolean interval: type: string path: @@ -800,6 +802,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -879,7 +885,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -926,7 +931,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -1202,6 +1206,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -1331,6 +1352,8 @@ spec: type: string Kube_meta_preload_cache_dir: type: string + Kubelet_Host: + type: string Kubelet_Port: type: string Labels: @@ -1572,6 +1595,8 @@ spec: type: string Exclude_Path: type: string + File_Cache_Advise: + type: string Ignore_Older: type: string Key: @@ -1708,6 +1733,8 @@ spec: type: string metrics: properties: + enabled: + type: boolean interval: type: string path: @@ -1719,6 +1746,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -1798,7 +1829,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -1845,7 +1875,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: diff --git a/modules/observability/logging-operator/base/crds/fluentdconfigs.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/fluentdconfigs.logging.banzaicloud.io.yaml index a7f70c34..919f23da 100644 --- a/modules/observability/logging-operator/base/crds/fluentdconfigs.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/fluentdconfigs.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: fluentdconfigs.logging.banzaicloud.io spec: group: logging.banzaicloud.io @@ -779,6 +779,8 @@ spec: type: object bufferVolumeMetrics: properties: + enabled: + type: boolean interval: type: string path: @@ -790,6 +792,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -869,7 +875,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -916,7 +921,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -1226,6 +1230,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -1863,6 +1884,8 @@ spec: type: string metrics: properties: + enabled: + type: boolean interval: type: string path: @@ -1874,6 +1897,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -1953,7 +1980,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -2000,7 +2026,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -2604,6 +2629,113 @@ spec: serviceAccount: type: string type: object + service: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + allocateLoadBalancerNodePorts: + type: boolean + clusterIP: + type: string + clusterIPs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + externalIPs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + externalName: + type: string + externalTrafficPolicy: + type: string + healthCheckNodePort: + format: int32 + type: integer + internalTrafficPolicy: + type: string + ipFamilies: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ipFamilyPolicy: + type: string + loadBalancerClass: + type: string + loadBalancerIP: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ports: + items: + properties: + appProtocol: + type: string + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + protocol: + default: TCP + type: string + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: array + x-kubernetes-list-map-keys: + - port + - protocol + x-kubernetes-list-type: map + publishNotReadyAddresses: + type: boolean + selector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + sessionAffinity: + type: string + sessionAffinityConfig: + properties: + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object + type: object + trafficDistribution: + type: string + type: + type: string + type: object + type: object serviceAccount: properties: automountServiceAccountToken: @@ -2694,6 +2826,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -3122,6 +3271,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: diff --git a/modules/observability/logging-operator/base/crds/hosttailers.logging-extensions.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/hosttailers.logging-extensions.banzaicloud.io.yaml index 76c0c500..3aaa11c1 100644 --- a/modules/observability/logging-operator/base/crds/hosttailers.logging-extensions.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/hosttailers.logging-extensions.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: hosttailers.logging-extensions.banzaicloud.io spec: group: logging-extensions.banzaicloud.io @@ -2476,6 +2476,29 @@ spec: type: array x-kubernetes-list-type: atomic type: object + podCertificate: + properties: + certificateChainPath: + type: string + credentialBundlePath: + type: string + keyPath: + type: string + keyType: + type: string + maxExpirationSeconds: + format: int32 + type: integer + signerName: + type: string + userAnnotations: + additionalProperties: + type: string + type: object + required: + - keyType + - signerName + type: object secret: properties: items: diff --git a/modules/observability/logging-operator/base/crds/loggingroutes.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/loggingroutes.logging.banzaicloud.io.yaml index 3bf2c5c6..1bb53d68 100644 --- a/modules/observability/logging-operator/base/crds/loggingroutes.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/loggingroutes.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: loggingroutes.logging.banzaicloud.io spec: group: logging.banzaicloud.io diff --git a/modules/observability/logging-operator/base/crds/loggings.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/loggings.logging.banzaicloud.io.yaml index ce30710d..e2f83b75 100644 --- a/modules/observability/logging-operator/base/crds/loggings.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/loggings.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: loggings.logging.banzaicloud.io spec: group: logging.banzaicloud.io @@ -882,6 +882,11 @@ spec: type: boolean flowConfigOverride: type: string + fluentBitAgentNamespace: + type: string + x-kubernetes-validations: + - message: Value is immutable, please recreate the resource + rule: self == oldSelf fluentbit: properties: HostNetwork: @@ -1645,6 +1650,8 @@ spec: type: object bufferVolumeMetrics: properties: + enabled: + type: boolean interval: type: string path: @@ -1656,6 +1663,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -1735,7 +1746,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -1782,7 +1792,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -2058,6 +2067,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -2187,6 +2213,8 @@ spec: type: string Kube_meta_preload_cache_dir: type: string + Kubelet_Host: + type: string Kubelet_Port: type: string Labels: @@ -2428,6 +2456,8 @@ spec: type: string Exclude_Path: type: string + File_Cache_Advise: + type: string Ignore_Older: type: string Key: @@ -2564,6 +2594,8 @@ spec: type: string metrics: properties: + enabled: + type: boolean interval: type: string path: @@ -2575,6 +2607,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -2654,7 +2690,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -2701,7 +2736,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -4363,6 +4397,8 @@ spec: type: object bufferVolumeMetrics: properties: + enabled: + type: boolean interval: type: string path: @@ -4374,6 +4410,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -4453,7 +4493,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -4500,7 +4539,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -4810,6 +4848,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -5447,6 +5502,8 @@ spec: type: string metrics: properties: + enabled: + type: boolean interval: type: string path: @@ -5458,6 +5515,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -5537,7 +5598,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -5584,7 +5644,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -6188,6 +6247,113 @@ spec: serviceAccount: type: string type: object + service: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + allocateLoadBalancerNodePorts: + type: boolean + clusterIP: + type: string + clusterIPs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + externalIPs: + items: + type: string + type: array + x-kubernetes-list-type: atomic + externalName: + type: string + externalTrafficPolicy: + type: string + healthCheckNodePort: + format: int32 + type: integer + internalTrafficPolicy: + type: string + ipFamilies: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ipFamilyPolicy: + type: string + loadBalancerClass: + type: string + loadBalancerIP: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + x-kubernetes-list-type: atomic + ports: + items: + properties: + appProtocol: + type: string + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + protocol: + default: TCP + type: string + targetPort: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: array + x-kubernetes-list-map-keys: + - port + - protocol + x-kubernetes-list-type: map + publishNotReadyAddresses: + type: boolean + selector: + additionalProperties: + type: string + type: object + x-kubernetes-map-type: atomic + sessionAffinity: + type: string + sessionAffinityConfig: + properties: + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object + type: object + trafficDistribution: + type: string + type: + type: string + type: object + type: object serviceAccount: properties: automountServiceAccountToken: @@ -6278,6 +6444,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -6706,6 +6889,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -7813,6 +8019,8 @@ spec: properties: bufferVolumeMetrics: properties: + enabled: + type: boolean interval: type: string mount_name: @@ -7826,6 +8034,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -7905,7 +8117,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -7952,7 +8163,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -8793,6 +9003,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -9221,6 +9448,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -9502,6 +9752,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -9930,6 +10197,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -10217,6 +10507,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -10645,6 +10952,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -11648,6 +11978,29 @@ spec: type: array x-kubernetes-list-type: atomic type: object + podCertificate: + properties: + certificateChainPath: + type: string + credentialBundlePath: + type: string + keyPath: + type: string + keyType: + type: string + maxExpirationSeconds: + format: int32 + type: integer + signerName: + type: string + userAnnotations: + additionalProperties: + type: string + type: object + required: + - keyType + - signerName + type: object secret: properties: items: @@ -11843,6 +12196,8 @@ spec: tag: type: string type: object + enabledIPv6: + type: boolean globalOptions: properties: log_level: @@ -11869,6 +12224,8 @@ spec: type: integer metrics: properties: + enabled: + type: boolean interval: type: string path: @@ -11880,6 +12237,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -11959,7 +12320,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -12006,7 +12366,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -12988,6 +13347,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -13416,6 +13792,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -13697,6 +14096,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -14125,6 +14541,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -14412,6 +14851,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -14840,6 +15296,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -15843,6 +16322,29 @@ spec: type: array x-kubernetes-list-type: atomic type: object + podCertificate: + properties: + certificateChainPath: + type: string + credentialBundlePath: + type: string + keyPath: + type: string + keyType: + type: string + maxExpirationSeconds: + format: int32 + type: integer + signerName: + type: string + userAnnotations: + additionalProperties: + type: string + type: object + required: + - keyType + - signerName + type: object secret: properties: items: diff --git a/modules/observability/logging-operator/base/crds/outputs.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/outputs.logging.banzaicloud.io.yaml index 8dcc1a08..da6b8c76 100644 --- a/modules/observability/logging-operator/base/crds/outputs.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/outputs.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: outputs.logging.banzaicloud.io spec: group: logging.banzaicloud.io @@ -12808,6 +12808,238 @@ spec: - bucket - endpoint type: object + rabbitmq: + properties: + app_id: + type: string + auth_mechanism: + type: string + automatically_recover: + type: boolean + buffer: + properties: + chunk_full_threshold: + type: string + chunk_limit_records: + type: integer + chunk_limit_size: + type: string + compress: + type: string + delayed_commit_timeout: + type: string + disable_chunk_backup: + type: boolean + disabled: + type: boolean + flush_at_shutdown: + type: boolean + flush_interval: + type: string + flush_mode: + type: string + flush_thread_burst_interval: + type: string + flush_thread_count: + type: integer + flush_thread_interval: + type: string + overflow_action: + type: string + path: + type: string + queue_limit_length: + type: integer + queued_chunks_limit_size: + type: integer + retry_exponential_backoff_base: + type: string + retry_forever: + type: boolean + retry_max_interval: + type: string + retry_max_times: + type: integer + retry_randomize: + type: boolean + retry_secondary_threshold: + type: string + retry_timeout: + type: string + retry_type: + type: string + retry_wait: + type: string + tags: + type: string + timekey: + type: string + timekey_use_utc: + type: boolean + timekey_wait: + type: string + timekey_zone: + type: string + total_limit_size: + type: string + type: + type: string + type: object + connection_timeout: + type: integer + content_encoding: + type: string + content_type: + type: string + continuation_timeout: + type: integer + exchange: + type: string + exchange_durable: + type: boolean + exchange_no_declare: + type: boolean + exchange_type: + type: string + expiration: + type: integer + format: + properties: + add_newline: + type: boolean + message_key: + type: string + type: + enum: + - out_file + - json + - ltsv + - csv + - msgpack + - hash + - single_value + type: string + type: object + frame_max: + type: integer + heartbeat: + type: string + host: + type: string + hosts: + items: + type: string + type: array + id_key: + type: string + message_type: + type: string + network_recovery_interval: + type: integer + pass: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + persistent: + type: boolean + port: + type: integer + priority: + type: integer + recovery_attempts: + type: integer + routing_key: + type: string + timestamp: + type: boolean + tls: + type: boolean + tls_ca_certificates: + items: + type: string + type: array + tls_cert: + type: string + tls_key: + type: string + user: + properties: + mountFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + value: + type: string + valueFrom: + properties: + secretKeyRef: + properties: + key: + type: string + name: + default: "" + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: object + verify_peer: + type: boolean + vhost: + type: string + required: + - exchange + - exchange_type + type: object redis: properties: allow_duplicate_key: diff --git a/modules/observability/logging-operator/base/crds/syslogngclusterflows.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/syslogngclusterflows.logging.banzaicloud.io.yaml index 7be59a57..61cd11ec 100644 --- a/modules/observability/logging-operator/base/crds/syslogngclusterflows.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/syslogngclusterflows.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: syslogngclusterflows.logging.banzaicloud.io spec: group: logging.banzaicloud.io diff --git a/modules/observability/logging-operator/base/crds/syslogngclusteroutputs.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/syslogngclusteroutputs.logging.banzaicloud.io.yaml index 7f68d0ac..b49f0b21 100644 --- a/modules/observability/logging-operator/base/crds/syslogngclusteroutputs.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/syslogngclusteroutputs.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: syslogngclusteroutputs.logging.banzaicloud.io spec: group: logging.banzaicloud.io diff --git a/modules/observability/logging-operator/base/crds/syslogngconfigs.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/syslogngconfigs.logging.banzaicloud.io.yaml index 8a996d13..4b4efd94 100644 --- a/modules/observability/logging-operator/base/crds/syslogngconfigs.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/syslogngconfigs.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: syslogngconfigs.logging.banzaicloud.io spec: group: logging.banzaicloud.io @@ -30,6 +30,8 @@ spec: properties: bufferVolumeMetrics: properties: + enabled: + type: boolean interval: type: string mount_name: @@ -43,6 +45,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -122,7 +128,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -169,7 +174,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -1010,6 +1014,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -1438,6 +1459,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -1719,6 +1763,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -2147,6 +2208,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -2434,6 +2518,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -2862,6 +2963,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -3865,6 +3989,29 @@ spec: type: array x-kubernetes-list-type: atomic type: object + podCertificate: + properties: + certificateChainPath: + type: string + credentialBundlePath: + type: string + keyPath: + type: string + keyType: + type: string + maxExpirationSeconds: + format: int32 + type: integer + signerName: + type: string + userAnnotations: + additionalProperties: + type: string + type: object + required: + - keyType + - signerName + type: object secret: properties: items: @@ -4060,6 +4207,8 @@ spec: tag: type: string type: object + enabledIPv6: + type: boolean globalOptions: properties: log_level: @@ -4086,6 +4235,8 @@ spec: type: integer metrics: properties: + enabled: + type: boolean interval: type: string path: @@ -4097,6 +4248,10 @@ spec: type: boolean prometheusRules: type: boolean + prometheusRulesLabels: + additionalProperties: + type: string + type: object prometheusRulesOverride: items: properties: @@ -4176,7 +4331,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -4223,7 +4377,6 @@ spec: type: string sourceLabels: items: - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ type: string type: array targetLabel: @@ -5205,6 +5358,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -5633,6 +5803,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -5914,6 +6107,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -6342,6 +6552,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -6629,6 +6862,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -7057,6 +7307,29 @@ spec: type: object restartPolicy: type: string + restartPolicyRules: + items: + properties: + action: + type: string + exitCodes: + properties: + operator: + type: string + values: + items: + format: int32 + type: integer + type: array + x-kubernetes-list-type: set + required: + - operator + type: object + required: + - action + type: object + type: array + x-kubernetes-list-type: atomic securityContext: properties: allowPrivilegeEscalation: @@ -8060,6 +8333,29 @@ spec: type: array x-kubernetes-list-type: atomic type: object + podCertificate: + properties: + certificateChainPath: + type: string + credentialBundlePath: + type: string + keyPath: + type: string + keyType: + type: string + maxExpirationSeconds: + format: int32 + type: integer + signerName: + type: string + userAnnotations: + additionalProperties: + type: string + type: object + required: + - keyType + - signerName + type: object secret: properties: items: diff --git a/modules/observability/logging-operator/base/crds/syslogngflows.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/syslogngflows.logging.banzaicloud.io.yaml index 96c847c3..3f621981 100644 --- a/modules/observability/logging-operator/base/crds/syslogngflows.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/syslogngflows.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: syslogngflows.logging.banzaicloud.io spec: group: logging.banzaicloud.io diff --git a/modules/observability/logging-operator/base/crds/syslogngoutputs.logging.banzaicloud.io.yaml b/modules/observability/logging-operator/base/crds/syslogngoutputs.logging.banzaicloud.io.yaml index 57ac61bb..485ad611 100644 --- a/modules/observability/logging-operator/base/crds/syslogngoutputs.logging.banzaicloud.io.yaml +++ b/modules/observability/logging-operator/base/crds/syslogngoutputs.logging.banzaicloud.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.20.0 name: syslogngoutputs.logging.banzaicloud.io spec: group: logging.banzaicloud.io diff --git a/modules/observability/logging-operator/base/resources/kustomization.yaml b/modules/observability/logging-operator/base/resources/kustomization.yaml index e1f5145c..8a0acdca 100644 --- a/modules/observability/logging-operator/base/resources/kustomization.yaml +++ b/modules/observability/logging-operator/base/resources/kustomization.yaml @@ -7,8 +7,8 @@ labels: app.kubernetes.io/component: logging images: - name: ghcr.io/kube-logging/logging-operator - newTag: 6.0.3 - digest: sha256:2414692f4556fc3628c7ec39a00c5b56e2792c83c56f80c58399324b3149a693 + newTag: 6.3.0 + digest: sha256:c4c00820f48767d6c24e1eef50a28abd0b8456b08fa8aab1d0c524beb8176c20 resources: - configs - rbac From 5c6b771261bb2b09ce64dff730da9f67acd09635 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 12:01:22 +0100 Subject: [PATCH 09/19] docs: update metrics-server changelog for 1.34 --- modules/observability/metrics-server/CHANGELOG.md | 6 +----- modules/observability/metrics-server/README.md | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/modules/observability/metrics-server/CHANGELOG.md b/modules/observability/metrics-server/CHANGELOG.md index 07ac9e3e..49a7f5d1 100644 --- a/modules/observability/metrics-server/CHANGELOG.md +++ b/modules/observability/metrics-server/CHANGELOG.md @@ -7,8 +7,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v1.33.0 - -### Changed - -- update metrics-server to v0.8.0 +- no changes diff --git a/modules/observability/metrics-server/README.md b/modules/observability/metrics-server/README.md index 474bd885..0544ad9c 100644 --- a/modules/observability/metrics-server/README.md +++ b/modules/observability/metrics-server/README.md @@ -43,7 +43,7 @@ This module use the following user, gid and fsGroup: | Module Version | Tool Version | |----------------|----------------| -| 1.33.x | 0.8.0 | +| 1.34.x | 0.8.0 | ## User customization From d2980e3115dd0a8bb3adc603bd17f903824b5a40 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 14:53:45 +0100 Subject: [PATCH 10/19] fix: add latest bugfix for logging-operator --- modules/observability/logging-operator/CHANGELOG.md | 2 +- modules/observability/logging-operator/README.md | 2 +- .../logging-operator/base/resources/kustomization.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/observability/logging-operator/CHANGELOG.md b/modules/observability/logging-operator/CHANGELOG.md index f98dc03b..36c04dcf 100644 --- a/modules/observability/logging-operator/CHANGELOG.md +++ b/modules/observability/logging-operator/CHANGELOG.md @@ -9,4 +9,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- update logging-operator to v6.3.0 +- update logging-operator to v6.3.1 diff --git a/modules/observability/logging-operator/README.md b/modules/observability/logging-operator/README.md index 2944785a..d1da996e 100644 --- a/modules/observability/logging-operator/README.md +++ b/modules/observability/logging-operator/README.md @@ -35,7 +35,7 @@ This module use the following user, gid and fsGroup: | Module Version | Tool Version | |----------------|----------------| -| 1.34.x | 6.3.0 | +| 1.34.x | 6.3.1 | ## User customization diff --git a/modules/observability/logging-operator/base/resources/kustomization.yaml b/modules/observability/logging-operator/base/resources/kustomization.yaml index 8a0acdca..eb61bf41 100644 --- a/modules/observability/logging-operator/base/resources/kustomization.yaml +++ b/modules/observability/logging-operator/base/resources/kustomization.yaml @@ -7,8 +7,8 @@ labels: app.kubernetes.io/component: logging images: - name: ghcr.io/kube-logging/logging-operator - newTag: 6.3.0 - digest: sha256:c4c00820f48767d6c24e1eef50a28abd0b8456b08fa8aab1d0c524beb8176c20 + newTag: 6.3.1 + digest: sha256:45027984eccd968f1ef588dff2d81fc452be8abaa0d57ad36156ad56e013d958 resources: - configs - rbac From a68fb288f4b8b193b76a07b095d42937411bdd92 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 15:20:46 +0100 Subject: [PATCH 11/19] feat: update prometheus-operator version in observability module --- .../prometheus-operator/CHANGELOG.md | 8 +- .../prometheus-operator/README.md | 2 +- ...tmanagerconfigs.monitoring.coreos.com.yaml | 2526 +++++---- .../alertmanagers.monitoring.coreos.com.yaml | 570 +- .../podmonitors.monitoring.coreos.com.yaml | 366 +- .../crds/probes.monitoring.coreos.com.yaml | 369 +- ...rometheusagents.monitoring.coreos.com.yaml | 4674 +++++++++++----- .../prometheuses.monitoring.coreos.com.yaml | 4753 +++++------------ ...prometheusrules.monitoring.coreos.com.yaml | 131 +- .../scrapeconfigs.monitoring.coreos.com.yaml | 2276 ++++---- ...servicemonitors.monitoring.coreos.com.yaml | 299 +- .../thanosrulers.monitoring.coreos.com.yaml | 551 +- .../base/resources/kustomization.yaml | 22 +- .../rbac/clusterrole-core.yaml | 17 +- .../workloads/deployment.yaml | 4 +- 15 files changed, 8868 insertions(+), 7700 deletions(-) diff --git a/modules/observability/prometheus-operator/CHANGELOG.md b/modules/observability/prometheus-operator/CHANGELOG.md index 6dad5fab..0c14f071 100644 --- a/modules/observability/prometheus-operator/CHANGELOG.md +++ b/modules/observability/prometheus-operator/CHANGELOG.md @@ -7,8 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -### v1.33.0 +### v1.34.0 -- update prometheus-operator to 0.85.0 -- update kube-state-metrics to 2.17.0 -- update kube-webhook-certgen to 1.6.2 +- update prometheus-operator to 0.87.1 +- update node-exporter to 1.10.2 +- update kube-webhook-certgen to 1.6.5 diff --git a/modules/observability/prometheus-operator/README.md b/modules/observability/prometheus-operator/README.md index bc27d2cd..59a64716 100644 --- a/modules/observability/prometheus-operator/README.md +++ b/modules/observability/prometheus-operator/README.md @@ -50,7 +50,7 @@ This module use the following user, gid and fsGroup: | Module Version | Prometheus Operator | Node Exporter | Kube State Metrics | |----------------|---------------------|---------------|--------------------| -| 1.33.x | 0.85.0 | 1.9.1 | 2.17.0 | +| 1.34.x | 0.87.1 | 1.10.2 | 2.17.0 | ## User customization diff --git a/modules/observability/prometheus-operator/base/crds/alertmanagerconfigs.monitoring.coreos.com.yaml b/modules/observability/prometheus-operator/base/crds/alertmanagerconfigs.monitoring.coreos.com.yaml index c927e166..ef7c6aa6 100644 --- a/modules/observability/prometheus-operator/base/crds/alertmanagerconfigs.monitoring.coreos.com.yaml +++ b/modules/observability/prometheus-operator/base/crds/alertmanagerconfigs.monitoring.coreos.com.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 - operator.prometheus.io/version: 0.85.0 + controller-gen.kubebuilder.io/version: v0.19.0 + operator.prometheus.io/version: 0.87.1 name: alertmanagerconfigs.monitoring.coreos.com spec: group: monitoring.coreos.com @@ -44,17 +44,11 @@ spec: metadata: type: object spec: - description: |- - AlertmanagerConfigSpec is a specification of the desired behavior of the - Alertmanager configuration. - By default, the Alertmanager configuration only applies to alerts for which - the `namespace` label is equal to the namespace of the AlertmanagerConfig - resource (see the `.spec.alertmanagerConfigMatcherStrategy` field of the - Alertmanager CRD). + description: spec defines the specification of AlertmanagerConfigSpec properties: inhibitRules: description: |- - List of inhibition rules. The rules will only apply to alerts matching + inhibitRules defines the list of inhibition rules. The rules will only apply to alerts matching the resource's namespace. items: description: |- @@ -64,23 +58,25 @@ spec: properties: equal: description: |- - Labels that must have an equal value in the source and target alert for - the inhibition to take effect. + equal defines labels that must have an equal value in the source and target alert + for the inhibition to take effect. This ensures related alerts are properly grouped. items: type: string type: array + x-kubernetes-list-type: atomic sourceMatch: description: |- - Matchers for which one or more alerts have to exist for the inhibition - to take effect. The operator enforces that the alert matches the - resource's namespace. + sourceMatch defines matchers for which one or more alerts have to exist for the inhibition + to take effect. The operator enforces that the alert matches the resource's namespace. + These are the "trigger" alerts that cause other alerts to be inhibited. items: description: Matcher defines how to match on alert's labels. properties: matchType: description: |- - Match operation available with AlertManager >= v0.22.0 and - takes precedence over Regex (deprecated) if non-empty. + matchType defines the match operation available with AlertManager >= v0.22.0. + Takes precedence over Regex (deprecated) if non-empty. + Valid values: "=" (equality), "!=" (inequality), "=~" (regex match), "!~" (regex non-match). enum: - '!=' - = @@ -88,32 +84,39 @@ spec: - '!~' type: string name: - description: Label to match. + description: |- + name defines the label to match. + This specifies which alert label should be evaluated. minLength: 1 type: string regex: description: |- - Whether to match on equality (false) or regular-expression (true). + regex defines whether to match on equality (false) or regular-expression (true). Deprecated: for AlertManager >= v0.22.0, `matchType` should be used instead. type: boolean value: - description: Label value to match. + description: |- + value defines the label value to match. + This is the expected value for the specified label. type: string required: - name type: object type: array + x-kubernetes-list-type: atomic targetMatch: description: |- - Matchers that have to be fulfilled in the alerts to be muted. The - operator enforces that the alert matches the resource's namespace. + targetMatch defines matchers that have to be fulfilled in the alerts to be muted. + The operator enforces that the alert matches the resource's namespace. + When these conditions are met, matching alerts will be inhibited (silenced). items: description: Matcher defines how to match on alert's labels. properties: matchType: description: |- - Match operation available with AlertManager >= v0.22.0 and - takes precedence over Regex (deprecated) if non-empty. + matchType defines the match operation available with AlertManager >= v0.22.0. + Takes precedence over Regex (deprecated) if non-empty. + Valid values: "=" (equality), "!=" (inequality), "=~" (regex match), "!~" (regex non-match). enum: - '!=' - = @@ -121,55 +124,62 @@ spec: - '!~' type: string name: - description: Label to match. + description: |- + name defines the label to match. + This specifies which alert label should be evaluated. minLength: 1 type: string regex: description: |- - Whether to match on equality (false) or regular-expression (true). + regex defines whether to match on equality (false) or regular-expression (true). Deprecated: for AlertManager >= v0.22.0, `matchType` should be used instead. type: boolean value: - description: Label value to match. + description: |- + value defines the label value to match. + This is the expected value for the specified label. type: string required: - name type: object type: array + x-kubernetes-list-type: atomic type: object type: array + x-kubernetes-list-type: atomic muteTimeIntervals: - description: List of MuteTimeInterval specifying when the routes should be muted. + description: muteTimeIntervals defines the list of MuteTimeInterval specifying when the routes should be muted. items: description: MuteTimeInterval specifies the periods in time when notifications will be muted properties: name: - description: Name of the time interval + description: name of the time interval type: string timeIntervals: - description: TimeIntervals is a list of TimeInterval + description: timeIntervals defines a list of TimeInterval items: description: TimeInterval describes intervals of time properties: daysOfMonth: - description: DaysOfMonth is a list of DayOfMonthRange + description: daysOfMonth defines a list of DayOfMonthRange items: description: DayOfMonthRange is an inclusive range of days of the month beginning at 1 properties: end: - description: End of the inclusive range + description: end of the inclusive range maximum: 31 minimum: -31 type: integer start: - description: Start of the inclusive range + description: start of the inclusive range maximum: 31 minimum: -31 type: integer type: object type: array + x-kubernetes-list-type: atomic months: - description: Months is a list of MonthRange + description: months defines a list of MonthRange items: description: |- MonthRange is an inclusive range of months of the year beginning in January @@ -177,23 +187,25 @@ spec: pattern: ^((?i)january|february|march|april|may|june|july|august|september|october|november|december|1[0-2]|[1-9])(?:((:((?i)january|february|march|april|may|june|july|august|september|october|november|december|1[0-2]|[1-9]))$)|$) type: string type: array + x-kubernetes-list-type: atomic times: - description: Times is a list of TimeRange + description: times defines a list of TimeRange items: description: TimeRange defines a start and end time in 24hr format properties: endTime: - description: EndTime is the end time in 24hr format. + description: endTime defines the end time in 24hr format. pattern: ^((([01][0-9])|(2[0-3])):[0-5][0-9])$|(^24:00$) type: string startTime: - description: StartTime is the start time in 24hr format. + description: startTime defines the start time in 24hr format. pattern: ^((([01][0-9])|(2[0-3])):[0-5][0-9])$|(^24:00$) type: string type: object type: array + x-kubernetes-list-type: atomic weekdays: - description: Weekdays is a list of WeekdayRange + description: weekdays defines a list of WeekdayRange items: description: |- WeekdayRange is an inclusive range of days of the week beginning on Sunday @@ -201,26 +213,30 @@ spec: pattern: ^((?i)sun|mon|tues|wednes|thurs|fri|satur)day(?:((:(sun|mon|tues|wednes|thurs|fri|satur)day)$)|$) type: string type: array + x-kubernetes-list-type: atomic years: - description: Years is a list of YearRange + description: years defines a list of YearRange items: description: YearRange is an inclusive range of years pattern: ^2\d{3}(?::2\d{3}|$) type: string type: array + x-kubernetes-list-type: atomic type: object type: array + x-kubernetes-list-type: atomic required: - name type: object type: array + x-kubernetes-list-type: atomic receivers: - description: List of receivers. + description: receivers defines the list of receivers. items: description: Receiver defines one or more notification integrations. properties: discordConfigs: - description: List of Discord configurations. + description: discordConfigs defines the list of Slack configurations. items: description: |- DiscordConfig configures notifications via Discord. @@ -228,7 +244,7 @@ spec: properties: apiURL: description: |- - The secret's key that contains the Discord webhook URL. + apiURL defines the secret's key that contains the Discord webhook URL. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. properties: @@ -252,23 +268,23 @@ spec: type: object x-kubernetes-map-type: atomic avatarURL: - description: The avatar url of the message sender. + description: avatarURL defines the avatar url of the message sender. pattern: ^https?://.+$ type: string content: - description: The template of the content's body. + description: content defines the template of the content's body. minLength: 1 type: string httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -291,7 +307,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -300,12 +316,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -329,7 +345,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -354,7 +370,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -378,27 +394,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -420,7 +443,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -444,7 +467,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -470,12 +493,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -507,7 +530,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -515,29 +538,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -559,7 +582,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -582,10 +605,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -607,7 +630,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -630,10 +653,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -656,7 +679,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -667,7 +690,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -677,11 +700,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -715,7 +738,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -723,28 +746,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -766,7 +790,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -789,10 +813,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -814,7 +838,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -837,10 +861,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -863,7 +887,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -874,7 +898,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -884,38 +908,41 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object message: - description: The template of the message's body. + description: message defines the template of the message's body. type: string sendResolved: - description: Whether or not to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean title: - description: The template of the message's title. + description: title defines the template of the message's title. type: string username: - description: The username of the message sender. + description: username defines the username of the message sender. minLength: 1 type: string required: - apiURL type: object type: array + x-kubernetes-list-type: atomic emailConfigs: - description: List of Email configurations. + description: emailConfigs defines the list of Email configurations. items: description: EmailConfig configures notifications via Email. properties: authIdentity: - description: The identity to use for authentication. + description: |- + authIdentity defines the identity to use for SMTP authentication. + This is typically used with PLAIN authentication mechanism. type: string authPassword: description: |- - The secret's key that contains the password to use for authentication. + authPassword defines the secret's key that contains the password to use for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. properties: @@ -940,7 +967,8 @@ spec: x-kubernetes-map-type: atomic authSecret: description: |- - The secret's key that contains the CRAM-MD5 secret. + authSecret defines the secret's key that contains the CRAM-MD5 secret. + This is used for CRAM-MD5 authentication mechanism. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. properties: @@ -964,58 +992,77 @@ spec: type: object x-kubernetes-map-type: atomic authUsername: - description: The username to use for authentication. + description: |- + authUsername defines the username to use for SMTP authentication. + This is used for SMTP AUTH when the server requires authentication. type: string from: - description: The sender address. + description: |- + from defines the sender address for email notifications. + This appears as the "From" field in the email header. type: string headers: description: |- - Further headers email header key/value pairs. Overrides any headers - previously set by the notification implementation. + headers defines additional email header key/value pairs. + These override any headers previously set by the notification implementation. items: description: KeyValue defines a (key, value) tuple. properties: key: - description: Key of the tuple. + description: |- + key defines the key of the tuple. + This is the identifier or name part of the key-value pair. minLength: 1 type: string value: - description: Value of the tuple. + description: |- + value defines the value of the tuple. + This is the data or content associated with the key. type: string required: - key - value type: object type: array + x-kubernetes-list-type: atomic hello: - description: The hostname to identify to the SMTP server. + description: |- + hello defines the hostname to identify to the SMTP server. + This is used in the SMTP HELO/EHLO command during the connection handshake. type: string html: - description: The HTML body of the email notification. + description: |- + html defines the HTML body of the email notification. + This allows for rich formatting in the email content. type: string requireTLS: description: |- - The SMTP TLS requirement. + requireTLS defines the SMTP TLS requirement. Note that Go does not support unencrypted connections to remote SMTP endpoints. type: boolean sendResolved: - description: Whether or not to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean smarthost: - description: The SMTP host and port through which emails are sent. E.g. example.com:25 + description: |- + smarthost defines the SMTP host and port through which emails are sent. + Format should be "hostname:port", e.g. "smtp.example.com:587". type: string text: - description: The text body of the email notification. + description: |- + text defines the plain text body of the email notification. + This provides a fallback for email clients that don't support HTML. type: string tlsConfig: - description: TLS configuration + description: |- + tlsConfig defines the TLS configuration for SMTP connections. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1037,7 +1084,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1060,10 +1107,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1085,7 +1132,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1108,10 +1155,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1134,7 +1181,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -1145,7 +1192,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -1155,17 +1202,20 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object to: - description: The email address to send notifications to. + description: |- + to defines the email address to send notifications to. + This is the recipient address for alert notifications. type: string type: object type: array + x-kubernetes-list-type: atomic msteamsConfigs: description: |- - List of MSTeams configurations. + msteamsConfigs defines the list of MSTeams configurations. It requires Alertmanager >= 0.26.0. items: description: |- @@ -1173,15 +1223,15 @@ spec: It requires Alertmanager >= 0.26.0. properties: httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration for Teams webhook requests. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1204,7 +1254,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -1213,12 +1263,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -1242,7 +1292,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -1267,7 +1317,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -1291,27 +1341,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1333,7 +1390,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1357,7 +1414,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -1383,12 +1440,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -1420,7 +1477,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -1428,29 +1485,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1472,7 +1529,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1495,10 +1552,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1520,7 +1577,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1543,10 +1600,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1569,7 +1626,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -1580,7 +1637,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -1590,11 +1647,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -1628,7 +1685,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -1636,28 +1693,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1679,7 +1737,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1702,10 +1760,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1727,7 +1785,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1750,10 +1808,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1776,7 +1834,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -1787,7 +1845,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -1797,26 +1855,33 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object sendResolved: - description: Whether to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean summary: description: |- - Message summary template. + summary defines the message summary template for Teams notifications. + This provides a brief overview that appears in Teams notification previews. It requires Alertmanager >= 0.27.0. type: string text: - description: Message body template. + description: |- + text defines the message body template for Teams notifications. + This contains the detailed content of the Teams message. type: string title: - description: Message title template. + description: |- + title defines the message title template for Teams notifications. + This appears as the main heading of the Teams message card. type: string webhookUrl: - description: MSTeams webhook URL. + description: |- + webhookUrl defines the MSTeams webhook URL for sending notifications. + This is the incoming webhook URL configured in your Teams channel. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1841,26 +1906,27 @@ spec: - webhookUrl type: object type: array + x-kubernetes-list-type: atomic msteamsv2Configs: description: |- - List of MSTeamsV2 configurations. + msteamsv2Configs defines the list of MSTeamsV2 configurations. It requires Alertmanager >= 0.28.0. items: description: |- - MSTeamsV2Config configures notifications via Microsoft Teams using the new message format with adaptive cards as required by flows + MSTeamsV2Config configures notifications via Microsoft Teams using the new message format with adaptive cards as required by flows. See https://prometheus.io/docs/alerting/latest/configuration/#msteamsv2_config It requires Alertmanager >= 0.28.0. properties: httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration for Teams webhook requests. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1883,7 +1949,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -1892,12 +1958,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -1921,7 +1987,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -1946,7 +2012,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -1970,27 +2036,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2012,7 +2085,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2036,7 +2109,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -2062,12 +2135,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -2099,7 +2172,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -2107,29 +2180,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2151,7 +2224,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2174,10 +2247,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2199,7 +2272,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2222,10 +2295,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2248,7 +2321,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -2259,7 +2332,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -2269,11 +2342,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -2307,7 +2380,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -2315,28 +2388,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2358,7 +2432,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2381,10 +2455,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2406,7 +2480,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2429,10 +2503,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2455,7 +2529,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -2466,7 +2540,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -2476,23 +2550,29 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object sendResolved: - description: Whether to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean text: - description: Message body template. + description: |- + text defines the message body template for adaptive card notifications. + This contains the detailed content displayed in the Teams adaptive card format. minLength: 1 type: string title: - description: Message title template. + description: |- + title defines the message title template for adaptive card notifications. + This appears as the main heading in the Teams adaptive card. minLength: 1 type: string webhookURL: - description: MSTeams incoming webhook URL. + description: |- + webhookURL defines the MSTeams incoming webhook URL for adaptive card notifications. + This webhook must support the newer adaptive cards format required by Teams flows. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2515,23 +2595,26 @@ spec: x-kubernetes-map-type: atomic type: object type: array + x-kubernetes-list-type: atomic name: - description: Name of the receiver. Must be unique across all items from the list. + description: name defines the name of the receiver. Must be unique across all items from the list. minLength: 1 type: string opsgenieConfigs: - description: List of OpsGenie configurations. + description: opsgenieConfigs defines the list of OpsGenie configurations. items: description: |- OpsGenieConfig configures notifications via OpsGenie. See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config properties: actions: - description: Comma separated list of actions that will be available for the alert. + description: |- + actions defines a comma separated list of actions that will be available for the alert. + These appear as action buttons in the OpsGenie interface. type: string apiKey: description: |- - The secret's key that contains the OpsGenie API key. + apiKey defines the secret's key that contains the OpsGenie API key. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. properties: @@ -2555,41 +2638,55 @@ spec: type: object x-kubernetes-map-type: atomic apiURL: - description: The URL to send OpsGenie API requests to. + description: |- + apiURL defines the URL to send OpsGenie API requests to. + When not specified, defaults to the standard OpsGenie API endpoint. + pattern: ^https?://.+$ type: string description: - description: Description of the incident. + description: |- + description defines the detailed description of the incident. + This provides additional context beyond the message field. type: string details: - description: A set of arbitrary key/value pairs that provide further detail about the incident. + description: |- + details defines a set of arbitrary key/value pairs that provide further detail about the incident. + These appear as additional fields in the OpsGenie alert. items: description: KeyValue defines a (key, value) tuple. properties: key: - description: Key of the tuple. + description: |- + key defines the key of the tuple. + This is the identifier or name part of the key-value pair. minLength: 1 type: string value: - description: Value of the tuple. + description: |- + value defines the value of the tuple. + This is the data or content associated with the key. type: string required: - key - value type: object type: array + x-kubernetes-list-type: atomic entity: - description: Optional field that can be used to specify which domain alert is related to. + description: |- + entity defines an optional field that can be used to specify which domain alert is related to. + This helps group related alerts together in OpsGenie. type: string httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration for OpsGenie API requests. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2612,7 +2709,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -2621,12 +2718,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -2650,7 +2747,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -2675,7 +2772,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -2699,27 +2796,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2741,7 +2845,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2765,7 +2869,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -2791,12 +2895,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -2828,7 +2932,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -2836,29 +2940,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2880,7 +2984,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2903,10 +3007,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2928,7 +3032,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2951,10 +3055,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2977,7 +3081,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -2988,7 +3092,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -2998,11 +3102,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -3036,7 +3140,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -3044,28 +3148,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3087,7 +3192,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3110,10 +3215,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3135,7 +3240,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3158,10 +3263,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3184,7 +3289,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -3195,7 +3300,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -3205,111 +3310,145 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object message: - description: Alert text limited to 130 characters. + description: |- + message defines the alert text limited to 130 characters. + This appears as the main alert title in OpsGenie. type: string note: - description: Additional alert note. + description: |- + note defines an additional alert note. + This provides supplementary information about the alert. type: string priority: - description: Priority level of alert. Possible values are P1, P2, P3, P4, and P5. + description: |- + priority defines the priority level of alert. + Possible values are P1, P2, P3, P4, and P5, where P1 is highest priority. type: string responders: - description: List of responders responsible for notifications. + description: |- + responders defines the list of responders responsible for notifications. + These determine who gets notified when the alert is created. items: description: |- OpsGenieConfigResponder defines a responder to an incident. One of `id`, `name` or `username` has to be defined. properties: id: - description: ID of the responder. + description: |- + id defines the unique identifier of the responder. + This corresponds to the responder's ID within OpsGenie. type: string name: - description: Name of the responder. + description: |- + name defines the display name of the responder. + This is used when the responder is identified by name rather than ID. type: string type: - description: Type of responder. + description: |- + type defines the type of responder. + Valid values include "user", "team", "schedule", and "escalation". + This determines how OpsGenie interprets the other identifier fields. + enum: + - team + - teams + - user + - escalation + - schedule minLength: 1 type: string username: - description: Username of the responder. + description: |- + username defines the username of the responder. + This is typically used for user-type responders when identifying by username. type: string required: - type type: object type: array + x-kubernetes-list-type: atomic sendResolved: - description: Whether or not to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean source: - description: Backlink to the sender of the notification. + description: |- + source defines the backlink to the sender of the notification. + This helps identify where the alert originated from. type: string tags: - description: Comma separated list of tags attached to the notifications. + description: |- + tags defines a comma separated list of tags attached to the notifications. + These help categorize and filter alerts within OpsGenie. type: string updateAlerts: description: |- - Whether to update message and description of the alert in OpsGenie if it already exists + updateAlerts defines Whether to update message and description of the alert in OpsGenie if it already exists By default, the alert is never updated in OpsGenie, the new message only appears in activity log. type: boolean type: object type: array + x-kubernetes-list-type: atomic pagerdutyConfigs: - description: List of PagerDuty configurations. + description: pagerdutyConfigs defines the List of PagerDuty configurations. items: description: |- PagerDutyConfig configures notifications via PagerDuty. See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config properties: class: - description: The class/type of the event. + description: class defines the class/type of the event. type: string client: - description: Client identification. + description: client defines the client identification. type: string clientURL: - description: Backlink to the sender of notification. + description: clientURL defines the backlink to the sender of notification. type: string component: - description: The part or component of the affected system that is broken. + description: component defines the part or component of the affected system that is broken. type: string description: - description: Description of the incident. + description: description of the incident. type: string details: - description: Arbitrary key/value pairs that provide further detail about the incident. + description: details defines the arbitrary key/value pairs that provide further detail about the incident. items: description: KeyValue defines a (key, value) tuple. properties: key: - description: Key of the tuple. + description: |- + key defines the key of the tuple. + This is the identifier or name part of the key-value pair. minLength: 1 type: string value: - description: Value of the tuple. + description: |- + value defines the value of the tuple. + This is the data or content associated with the key. type: string required: - key - value type: object type: array + x-kubernetes-list-type: atomic group: - description: A cluster or grouping of sources. + description: group defines a cluster or grouping of sources. type: string httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3332,7 +3471,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -3341,12 +3480,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -3370,7 +3509,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -3395,7 +3534,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -3419,27 +3558,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3461,7 +3607,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3485,7 +3631,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -3511,12 +3657,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -3548,7 +3694,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -3556,29 +3702,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3600,7 +3746,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3623,10 +3769,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3648,7 +3794,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3671,10 +3817,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3697,7 +3843,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -3708,7 +3854,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -3718,11 +3864,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -3756,7 +3902,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -3764,28 +3910,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3807,7 +3954,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3830,10 +3977,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3855,7 +4002,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3878,10 +4025,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3904,7 +4051,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -3915,7 +4062,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -3925,42 +4072,44 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object pagerDutyImageConfigs: - description: A list of image details to attach that provide further detail about an incident. + description: pagerDutyImageConfigs defines a list of image details to attach that provide further detail about an incident. items: description: PagerDutyImageConfig attaches images to an incident properties: alt: - description: Alt is the optional alternative text for the image. + description: alt is the optional alternative text for the image. type: string href: - description: Optional URL; makes the image a clickable link. + description: href defines the optional URL; makes the image a clickable link. type: string src: - description: Src of the image being attached to the incident + description: src of the image being attached to the incident type: string type: object type: array + x-kubernetes-list-type: atomic pagerDutyLinkConfigs: - description: A list of link details to attach that provide further detail about an incident. + description: pagerDutyLinkConfigs defines a list of link details to attach that provide further detail about an incident. items: description: PagerDutyLinkConfig attaches text links to an incident properties: alt: - description: Text that describes the purpose of the link, and can be used as the link's text. + description: alt defines the text that describes the purpose of the link, and can be used as the link's text. type: string href: - description: Href is the URL of the link to be attached + description: href defines the URL of the link to be attached type: string type: object type: array + x-kubernetes-list-type: atomic routingKey: description: |- - The secret's key that contains the PagerDuty integration key (when using + routingKey defines the secret's key that contains the PagerDuty integration key (when using Events API v2). Either this field or `serviceKey` needs to be defined. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -3985,11 +4134,11 @@ spec: type: object x-kubernetes-map-type: atomic sendResolved: - description: Whether or not to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean serviceKey: description: |- - The secret's key that contains the PagerDuty service key (when using + serviceKey defines the secret's key that contains the PagerDuty service key (when using integration type "Prometheus"). Either this field or `routingKey` needs to be defined. The secret needs to be in the same namespace as the AlertmanagerConfig @@ -4015,45 +4164,57 @@ spec: type: object x-kubernetes-map-type: atomic severity: - description: Severity of the incident. + description: severity of the incident. type: string source: - description: Unique location of the affected system. + description: source defines the unique location of the affected system. + type: string + timeout: + description: |- + timeout is the maximum time allowed to invoke the pagerduty + It requires Alertmanager >= v0.30.0. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string url: - description: The URL to send requests to. + description: url defines the URL to send requests to. type: string type: object type: array + x-kubernetes-list-type: atomic pushoverConfigs: - description: List of Pushover configurations. + description: pushoverConfigs defines the list of Pushover configurations. items: description: |- PushoverConfig configures notifications via Pushover. See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config properties: device: - description: The name of a device to send the notification to + description: |- + device defines the name of a specific device to send the notification to. + If not specified, the notification is sent to all user's devices. type: string expire: description: |- - How long your notification will continue to be retried for, unless the user - acknowledges the notification. + expire defines how long your notification will continue to be retried for, + unless the user acknowledges the notification. Only applies to priority 2 notifications. pattern: ^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$ type: string html: - description: Whether notification message is HTML or plain text. + description: |- + html defines whether notification message is HTML or plain text. + When true, the message can include HTML formatting tags. + html and monospace formatting are mutually exclusive. type: boolean httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration for Pushover API requests. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4076,7 +4237,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -4085,12 +4246,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -4114,7 +4275,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -4139,7 +4300,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -4163,27 +4324,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4205,7 +4373,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4229,7 +4397,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -4255,12 +4423,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -4292,7 +4460,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -4300,29 +4468,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4344,7 +4512,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4367,10 +4535,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4392,7 +4560,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4415,10 +4583,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4441,7 +4609,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -4452,7 +4620,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -4462,11 +4630,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -4500,7 +4668,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -4508,28 +4676,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4551,7 +4720,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4574,10 +4743,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4599,7 +4768,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4622,10 +4791,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4648,7 +4817,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -4659,7 +4828,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -4669,34 +4838,48 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object message: - description: Notification message. + description: |- + message defines the notification message content. + This is the main body text of the Pushover notification. type: string + monospace: + description: |- + monospace optional HTML/monospace formatting for the message, see https://pushover.net/api#html + html and monospace formatting are mutually exclusive. + type: boolean priority: - description: Priority, see https://pushover.net/api#priority + description: |- + priority defines the notification priority level. + See https://pushover.net/api#priority for valid values and behavior. type: string retry: description: |- - How often the Pushover servers will send the same notification to the user. - Must be at least 30 seconds. + retry defines how often the Pushover servers will send the same notification to the user. + Must be at least 30 seconds. Only applies to priority 2 notifications. pattern: ^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$ type: string sendResolved: - description: Whether or not to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean sound: - description: The name of one of the sounds supported by device clients to override the user's default sound choice + description: |- + sound defines the name of one of the sounds supported by device clients. + This overrides the user's default sound choice for this notification. type: string title: - description: Notification title. + description: |- + title defines the notification title displayed in the Pushover message. + This appears as the bold header text in the notification. type: string token: description: |- - The secret's key that contains the registered application's API token, see https://pushover.net/apps. + token defines the secret's key that contains the registered application's API token. + See https://pushover.net/apps for application registration. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. Either `token` or `tokenFile` is required. @@ -4722,23 +4905,30 @@ spec: x-kubernetes-map-type: atomic tokenFile: description: |- - The token file that contains the registered application's API token, see https://pushover.net/apps. + tokenFile defines the token file that contains the registered application's API token. + See https://pushover.net/apps for application registration. Either `token` or `tokenFile` is required. It requires Alertmanager >= v0.26.0. type: string ttl: - description: The time to live definition for the alert notification + description: |- + ttl defines the time to live for the alert notification. + This determines how long the notification remains active before expiring. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string url: - description: A supplementary URL shown alongside the message. + description: |- + url defines a supplementary URL shown alongside the message. + This creates a clickable link within the Pushover notification. type: string urlTitle: - description: A title for supplementary URL, otherwise just the URL is shown + description: |- + urlTitle defines a title for the supplementary URL. + If not specified, the raw URL is shown instead. type: string userKey: description: |- - The secret's key that contains the recipient user's user key. + userKey defines the secret's key that contains the recipient user's user key. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. Either `userKey` or `userKeyFile` is required. @@ -4764,15 +4954,16 @@ spec: x-kubernetes-map-type: atomic userKeyFile: description: |- - The user key file that contains the recipient user's user key. + userKeyFile defines the user key file that contains the recipient user's user key. Either `userKey` or `userKeyFile` is required. It requires Alertmanager >= v0.26.0. type: string type: object type: array + x-kubernetes-list-type: atomic rocketchatConfigs: description: |- - List of RocketChat configurations. + rocketchatConfigs defines the list of RocketChat configurations. It requires Alertmanager >= 0.28.0. items: description: |- @@ -4780,72 +4971,96 @@ spec: It requires Alertmanager >= 0.28.0. properties: actions: - description: Actions to include in the message. + description: |- + actions defines interactive actions to include in the message. + These appear as buttons that users can click to trigger responses. items: description: RocketChatActionConfig defines actions for RocketChat messages. properties: msg: - description: The message to send when the button is clicked. + description: |- + msg defines the message to send when the button is clicked. + This allows the button to post a predefined message to the channel. minLength: 1 type: string text: - description: The button text. + description: |- + text defines the button text displayed to users. + This is the label that appears on the interactive button. minLength: 1 type: string url: - description: The URL the button links to. + description: |- + url defines the URL the button links to when clicked. + This creates a clickable button that opens the specified URL. pattern: ^https?://.+$ type: string type: object minItems: 1 type: array + x-kubernetes-list-type: atomic apiURL: description: |- - The API URL for RocketChat. + apiURL defines the API URL for RocketChat. Defaults to https://open.rocket.chat/ if not specified. pattern: ^https?://.+$ type: string channel: - description: The channel to send alerts to. + description: |- + channel defines the channel to send alerts to. + This can be a channel name (e.g., "#alerts") or a direct message recipient. minLength: 1 type: string color: - description: The message color. + description: |- + color defines the message color displayed in RocketChat. + This appears as a colored bar alongside the message. minLength: 1 type: string emoji: - description: If provided, the avatar will be displayed as an emoji. + description: |- + emoji defines the emoji to be displayed as an avatar. + If provided, this emoji will be used instead of the default avatar or iconURL. minLength: 1 type: string fields: - description: Additional fields for the message. + description: |- + fields defines additional fields for the message attachment. + These appear as structured key-value pairs within the message. items: description: RocketChatFieldConfig defines additional fields for RocketChat messages. properties: short: - description: Whether this field should be a short field. + description: |- + short defines whether this field should be a short field. + When true, the field may be displayed inline with other short fields to save space. type: boolean title: - description: The title of this field. + description: |- + title defines the title of this field. + This appears as bold text labeling the field content. minLength: 1 type: string value: - description: The value of this field, displayed underneath the title value. + description: |- + value defines the value of this field, displayed underneath the title. + This contains the actual data or content for the field. minLength: 1 type: string type: object minItems: 1 type: array + x-kubernetes-list-type: atomic httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration for RocketChat API requests. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4868,7 +5083,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -4877,12 +5092,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -4906,7 +5121,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -4931,7 +5146,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -4955,27 +5170,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4997,7 +5219,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5021,7 +5243,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -5047,12 +5269,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -5084,7 +5306,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -5092,29 +5314,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5136,7 +5358,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5159,10 +5381,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5184,7 +5406,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5207,10 +5429,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5233,7 +5455,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -5244,7 +5466,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -5254,11 +5476,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -5292,7 +5514,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -5300,28 +5522,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5343,7 +5566,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5366,10 +5589,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5391,7 +5614,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5414,10 +5637,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5440,7 +5663,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -5451,7 +5674,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -5461,45 +5684,63 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object iconURL: - description: Icon URL for the message. + description: |- + iconURL defines the icon URL for the message avatar. + This displays a custom image as the message sender's avatar. pattern: ^https?://.+$ type: string imageURL: - description: Image URL for the message. + description: |- + imageURL defines the image URL to display within the message. + This embeds an image directly in the message attachment. pattern: ^https?://.+$ type: string linkNames: - description: Whether to enable link names. + description: |- + linkNames defines whether to enable automatic linking of usernames and channels. + When true, @username and #channel references become clickable links. type: boolean sendResolved: - description: Whether to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean shortFields: - description: Whether to use short fields. + description: |- + shortFields defines whether to use short fields in the message layout. + When true, fields may be displayed side by side to save space. type: boolean text: - description: The message text to send, it is optional because of attachments. + description: |- + text defines the message text to send. + This is optional because attachments can be used instead of or alongside text. minLength: 1 type: string thumbURL: - description: Thumbnail URL for the message. + description: |- + thumbURL defines the thumbnail URL for the message. + This displays a small thumbnail image alongside the message content. pattern: ^https?://.+$ type: string title: - description: The message title. + description: |- + title defines the message title displayed prominently in the message. + This appears as bold text at the top of the message attachment. minLength: 1 type: string titleLink: - description: The title link for the message. + description: |- + titleLink defines the URL that the title will link to when clicked. + This makes the message title clickable in the RocketChat interface. minLength: 1 type: string token: - description: The sender token. + description: |- + token defines the sender token for RocketChat authentication. + This is the personal access token or bot token used to authenticate API requests. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5521,7 +5762,9 @@ spec: type: object x-kubernetes-map-type: atomic tokenID: - description: The sender token ID. + description: |- + tokenID defines the sender token ID for RocketChat authentication. + This is the user ID associated with the token used for API requests. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5547,15 +5790,16 @@ spec: - tokenID type: object type: array + x-kubernetes-list-type: atomic slackConfigs: - description: List of Slack configurations. + description: slackConfigs defines the list of Slack configurations. items: description: |- SlackConfig configures notifications via Slack. See https://prometheus.io/docs/alerting/latest/configuration/#slack_config properties: actions: - description: A list of Slack actions that are sent with each notification. + description: actions defines a list of Slack actions that are sent with each notification. items: description: |- SlackAction configures a single Slack action that is sent with each @@ -5565,46 +5809,74 @@ spec: properties: confirm: description: |- - SlackConfirmationField protect users from destructive actions or - particularly distinguished decisions by asking them to confirm their button - click one more time. - See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields - for more information. + confirm defines an optional confirmation dialog that appears before the action is executed. + When set, users must confirm their intent before the action proceeds. properties: dismissText: + description: |- + dismissText defines the label for the cancel button in the dialog. + When not specified, defaults to "Cancel". This button cancels the action. type: string okText: + description: |- + okText defines the label for the confirmation button in the dialog. + When not specified, defaults to "Okay". This button proceeds with the action. type: string text: + description: |- + text defines the main message displayed in the confirmation dialog. + This should be a clear question or statement asking the user to confirm their action. minLength: 1 type: string title: + description: |- + title defines the title text displayed at the top of the confirmation dialog. + When not specified, a default title will be used. type: string required: - text type: object name: + description: |- + name defines a unique identifier for the action within the message. + This value is sent back to your application when the action is triggered. type: string style: + description: |- + style defines the visual appearance of the action element. + Valid values include "default", "primary" (green), and "danger" (red). type: string text: + description: |- + text defines the user-visible label displayed on the action element. + For buttons, this is the button text. For select menus, this is the placeholder text. minLength: 1 type: string type: + description: |- + type defines the type of interactive component. + Common values include "button" for clickable buttons and "select" for dropdown menus. minLength: 1 type: string url: + description: |- + url defines the URL to open when the action is triggered. + Only applicable for button-type actions. When set, clicking the button opens this URL. type: string value: + description: |- + value defines the payload sent when the action is triggered. + This data is included in the callback sent to your application. type: string required: - text - type type: object type: array + x-kubernetes-list-type: atomic apiURL: description: |- - The secret's key that contains the Slack webhook URL. + apiURL defines the secret's key that contains the Slack webhook URL. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. properties: @@ -5628,16 +5900,21 @@ spec: type: object x-kubernetes-map-type: atomic callbackId: + description: callbackId defines an identifier for the message used in interactive components. type: string channel: - description: The channel or user to send notifications to. + description: channel defines the channel or user to send notifications to. type: string color: + description: |- + color defines the color of the left border of the Slack message attachment. + Can be a hex color code (e.g., "#ff0000") or a predefined color name. type: string fallback: + description: fallback defines a plain-text summary of the attachment for clients that don't support attachments. type: string fields: - description: A list of Slack fields that are sent with each notification. + description: fields defines a list of Slack fields that are sent with each notification. items: description: |- SlackField configures a single Slack field that is sent with each notification. @@ -5646,11 +5923,21 @@ spec: See https://api.slack.com/docs/message-attachments#fields for more information. properties: short: + description: |- + short determines whether this field can be displayed alongside other short fields. + When true, Slack may display this field side by side with other short fields. + When false or not specified, the field takes the full width of the message. type: boolean title: + description: |- + title defines the label or header text displayed for this field. + This appears as bold text above the field value in the Slack message. minLength: 1 type: string value: + description: |- + value defines the content or data displayed for this field. + This appears below the title and can contain plain text or Slack markdown. minLength: 1 type: string required: @@ -5658,18 +5945,20 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic footer: + description: footer defines small text displayed at the bottom of the message attachment. type: string httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5692,7 +5981,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -5701,12 +5990,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -5730,7 +6019,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -5755,7 +6044,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -5779,27 +6068,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5821,7 +6117,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5845,7 +6141,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -5871,12 +6167,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -5908,7 +6204,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -5916,29 +6212,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5960,7 +6256,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5983,10 +6279,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6008,7 +6304,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6031,10 +6327,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6057,7 +6353,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -6068,7 +6364,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -6078,11 +6374,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -6116,7 +6412,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -6124,28 +6420,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6167,7 +6464,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6190,10 +6487,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6215,7 +6512,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6238,10 +6535,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6264,7 +6561,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -6275,7 +6572,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -6285,43 +6582,72 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object iconEmoji: + description: iconEmoji defines the emoji to use as the bot's avatar (e.g., ":ghost:"). type: string iconURL: + description: iconURL defines the URL to an image to use as the bot's avatar. type: string imageURL: + description: imageURL defines the URL to an image file that will be displayed inside the message attachment. type: string linkNames: + description: |- + linkNames enables automatic linking of channel names and usernames in the message. + When true, @channel and @username will be converted to clickable links. type: boolean mrkdwnIn: + description: |- + mrkdwnIn defines which fields should be parsed as Slack markdown. + Valid values include "pretext", "text", and "fields". items: type: string type: array + x-kubernetes-list-type: atomic pretext: + description: pretext defines optional text that appears above the message attachment block. type: string sendResolved: - description: Whether or not to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean shortFields: + description: |- + shortFields determines whether fields are displayed in a compact format. + When true, fields are shown side by side when possible. type: boolean text: + description: text defines the main text content of the Slack message attachment. type: string thumbURL: + description: |- + thumbURL defines the URL to an image file that will be displayed as a thumbnail + on the right side of the message attachment. + type: string + timeout: + description: |- + timeout defines the maximum time to wait for a webhook request to complete, + before failing the request and allowing it to be retried. + It requires Alertmanager >= v0.30.0. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string title: + description: title defines the title text displayed in the Slack message attachment. type: string titleLink: + description: titleLink defines the URL that the title will link to when clicked. type: string username: + description: username defines the slack bot user name. type: string type: object type: array + x-kubernetes-list-type: atomic snsConfigs: - description: List of SNS configurations + description: snsConfigs defines the list of SNS configurations items: description: |- SNSConfig configures notifications via AWS SNS. @@ -6329,24 +6655,26 @@ spec: properties: apiURL: description: |- - The SNS API URL i.e. https://sns.us-east-2.amazonaws.com. + apiURL defines the SNS API URL, e.g. https://sns.us-east-2.amazonaws.com. If not specified, the SNS API URL from the SNS SDK will be used. type: string attributes: additionalProperties: type: string - description: SNS message attributes. + description: |- + attributes defines SNS message attributes as key-value pairs. + These provide additional metadata that can be used for message filtering and routing. type: object httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration for SNS API requests. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6369,7 +6697,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -6378,12 +6706,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -6407,7 +6735,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -6432,7 +6760,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -6456,27 +6784,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6498,7 +6833,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6522,7 +6857,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -6548,12 +6883,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -6585,7 +6920,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -6593,29 +6928,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6637,7 +6972,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6660,10 +6995,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6685,7 +7020,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6708,10 +7043,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6734,7 +7069,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -6745,7 +7080,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -6755,11 +7090,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -6793,7 +7128,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -6801,28 +7136,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6844,7 +7180,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6867,10 +7203,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6892,7 +7228,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6915,10 +7251,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6941,7 +7277,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -6952,7 +7288,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -6962,27 +7298,31 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object message: - description: The message content of the SNS notification. + description: |- + message defines the message content of the SNS notification. + This is the actual notification text that will be sent to subscribers. type: string phoneNumber: description: |- - Phone number if message is delivered via SMS in E.164 format. + phoneNumber defines the phone number if message is delivered via SMS in E.164 format. If you don't specify this value, you must specify a value for the TopicARN or TargetARN. type: string sendResolved: - description: Whether or not to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean sigv4: - description: Configures AWS's Signature Verification 4 signing process to sign requests. + description: |- + sigv4 configures AWS's Signature Verification 4 signing process to sign requests. + This includes AWS credentials and region configuration for authentication. properties: accessKey: description: |- - AccessKey is the AWS API key. If not specified, the environment variable + accessKey defines the AWS API key. If not specified, the environment variable `AWS_ACCESS_KEY_ID` is used. properties: key: @@ -7005,17 +7345,17 @@ spec: type: object x-kubernetes-map-type: atomic profile: - description: Profile is the named AWS profile used to authenticate. + description: profile defines the named AWS profile used to authenticate. type: string region: - description: Region is the AWS region. If blank, the region from the default credentials chain used. + description: region defines the AWS region. If blank, the region from the default credentials chain used. type: string roleArn: - description: RoleArn is the named AWS profile used to authenticate. + description: roleArn defines the named AWS profile used to authenticate. type: string secretKey: description: |- - SecretKey is the AWS API secret. If not specified, the environment + secretKey defines the AWS API secret. If not specified, the environment variable `AWS_SECRET_ACCESS_KEY` is used. properties: key: @@ -7037,24 +7377,32 @@ spec: - key type: object x-kubernetes-map-type: atomic + useFIPSSTSEndpoint: + description: |- + useFIPSSTSEndpoint defines the FIPS mode for the AWS STS endpoint. + It requires Prometheus >= v2.54.0. + type: boolean type: object subject: - description: Subject line when the message is delivered to email endpoints. + description: |- + subject defines the subject line when the message is delivered to email endpoints. + This field is only used when sending to email subscribers of an SNS topic. type: string targetARN: description: |- - The mobile platform endpoint ARN if message is delivered via mobile notifications. - If you don't specify this value, you must specify a value for the topic_arn or PhoneNumber. + targetARN defines the mobile platform endpoint ARN if message is delivered via mobile notifications. + If you don't specify this value, you must specify a value for the TopicARN or PhoneNumber. type: string topicARN: description: |- - SNS topic ARN, i.e. arn:aws:sns:us-east-2:698519295917:My-Topic + topicARN defines the SNS topic ARN, e.g. arn:aws:sns:us-east-2:698519295917:My-Topic. If you don't specify this value, you must specify a value for the PhoneNumber or TargetARN. type: string type: object type: array + x-kubernetes-list-type: atomic telegramConfigs: - description: List of Telegram configurations. + description: telegramConfigs defines the list of Telegram configurations. items: description: |- TelegramConfig configures notifications via Telegram. @@ -7062,15 +7410,15 @@ spec: properties: apiURL: description: |- - The Telegram API URL i.e. https://api.telegram.org. - If not specified, default API URL will be used. + apiURL defines the Telegram API URL, e.g. https://api.telegram.org. + If not specified, the default Telegram API URL will be used. + pattern: ^https?://.+$ type: string botToken: description: |- - Telegram bot token. It is mutually exclusive with `botTokenFile`. + botToken defines the Telegram bot token. It is mutually exclusive with `botTokenFile`. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. - Either `botToken` or `botTokenFile` is required. properties: key: @@ -7094,28 +7442,32 @@ spec: x-kubernetes-map-type: atomic botTokenFile: description: |- - File to read the Telegram bot token from. It is mutually exclusive with `botToken`. + botTokenFile defines the file to read the Telegram bot token from. + It is mutually exclusive with `botToken`. Either `botToken` or `botTokenFile` is required. - It requires Alertmanager >= v0.26.0. type: string chatID: - description: The Telegram chat ID. + description: |- + chatID defines the Telegram chat ID where messages will be sent. + This can be a user ID, group ID, or channel ID (with @ prefix for public channels). format: int64 type: integer disableNotifications: - description: Disable telegram notifications + description: |- + disableNotifications controls whether Telegram notifications are sent silently. + When true, users will receive the message without notification sounds. type: boolean httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration for Telegram API requests. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7138,7 +7490,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -7147,12 +7499,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -7176,7 +7528,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -7201,7 +7553,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -7225,27 +7577,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7267,7 +7626,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7291,7 +7650,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -7317,12 +7676,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -7354,7 +7713,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -7362,29 +7721,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7406,7 +7765,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7429,10 +7788,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7454,7 +7813,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7477,10 +7836,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7503,7 +7862,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -7514,7 +7873,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -7524,11 +7883,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -7562,7 +7921,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -7570,28 +7929,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7613,7 +7973,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7636,10 +7996,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7661,7 +8021,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7684,10 +8044,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7710,7 +8070,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -7721,7 +8081,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -7731,35 +8091,42 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object message: - description: Message template + description: |- + message defines the message template for the Telegram notification. + This is the content that will be sent to the specified chat. type: string messageThreadID: description: |- - The Telegram Group Topic ID. + messageThreadID defines the Telegram Group Topic ID for threaded messages. + This allows sending messages to specific topics within Telegram groups. It requires Alertmanager >= 0.26.0. format: int64 type: integer parseMode: - description: Parse mode for telegram message + description: |- + parseMode defines the parse mode for telegram message formatting. + Valid values are "MarkdownV2", "Markdown", and "HTML". + This determines how text formatting is interpreted in the message. enum: - MarkdownV2 - Markdown - HTML type: string sendResolved: - description: Whether to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean required: - chatID type: object type: array + x-kubernetes-list-type: atomic victoropsConfigs: - description: List of VictorOps configurations. + description: victoropsConfigs defines the list of VictorOps configurations. items: description: |- VictorOpsConfig configures notifications via VictorOps. @@ -7767,7 +8134,7 @@ spec: properties: apiKey: description: |- - The secret's key that contains the API key to use when talking to the VictorOps API. + apiKey defines the secret's key that contains the API key to use when talking to the VictorOps API. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. properties: @@ -7791,38 +8158,49 @@ spec: type: object x-kubernetes-map-type: atomic apiUrl: - description: The VictorOps API URL. + description: |- + apiUrl defines the VictorOps API URL. + When not specified, defaults to the standard VictorOps API endpoint. type: string customFields: - description: Additional custom fields for notification. + description: |- + customFields defines additional custom fields for notification. + These provide extra metadata that will be included with the VictorOps incident. items: description: KeyValue defines a (key, value) tuple. properties: key: - description: Key of the tuple. + description: |- + key defines the key of the tuple. + This is the identifier or name part of the key-value pair. minLength: 1 type: string value: - description: Value of the tuple. + description: |- + value defines the value of the tuple. + This is the data or content associated with the key. type: string required: - key - value type: object type: array + x-kubernetes-list-type: atomic entityDisplayName: - description: Contains summary of the alerted problem. + description: |- + entityDisplayName contains a summary of the alerted problem. + This appears as the main title or identifier for the incident. type: string httpConfig: - description: The HTTP client's configuration. + description: httpConfig defines the HTTP client's configuration for VictorOps API requests. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7845,7 +8223,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -7854,12 +8232,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -7883,7 +8261,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -7908,7 +8286,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -7932,27 +8310,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7974,7 +8359,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7998,7 +8383,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -8024,12 +8409,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -8061,7 +8446,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -8069,29 +8454,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8113,7 +8498,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8136,10 +8521,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8161,7 +8546,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8184,10 +8569,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8210,7 +8595,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -8221,7 +8606,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -8231,11 +8616,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -8269,7 +8654,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -8277,28 +8662,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8320,7 +8706,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8343,10 +8729,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8368,7 +8754,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8391,10 +8777,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8417,7 +8803,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -8428,7 +8814,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -8438,52 +8824,57 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object messageType: - description: Describes the behavior of the alert (CRITICAL, WARNING, INFO). + description: |- + messageType describes the behavior of the alert. + Valid values are "CRITICAL", "WARNING", and "INFO". type: string monitoringTool: - description: The monitoring tool the state message is from. + description: |- + monitoringTool defines the monitoring tool the state message is from. + This helps identify the source system that generated the alert. type: string routingKey: - description: A key used to map the alert to a team. + description: |- + routingKey defines a key used to map the alert to a team. + This determines which VictorOps team will receive the alert notification. type: string sendResolved: - description: Whether or not to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean stateMessage: - description: Contains long explanation of the alerted problem. + description: |- + stateMessage contains a long explanation of the alerted problem. + This provides detailed context about the incident. type: string type: object type: array + x-kubernetes-list-type: atomic webexConfigs: - description: List of Webex configurations. + description: webexConfigs defines the list of Webex configurations. items: description: |- WebexConfig configures notification via Cisco Webex See https://prometheus.io/docs/alerting/latest/configuration/#webex_config properties: apiURL: - description: |- - The Webex Teams API URL i.e. https://webexapis.com/v1/messages - Provide if different from the default API URL. + description: apiURL defines the Webex Teams API URL i.e. https://webexapis.com/v1/messages pattern: ^https?://.+$ type: string httpConfig: - description: |- - The HTTP client's configuration. - You must supply the bot token via the `httpConfig.authorization` field. + description: httpConfig defines the HTTP client's configuration. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8506,7 +8897,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -8515,12 +8906,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -8544,7 +8935,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -8569,7 +8960,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -8593,27 +8984,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8635,7 +9033,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8659,7 +9057,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -8685,12 +9083,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -8722,7 +9120,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -8730,29 +9128,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8774,7 +9172,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8797,10 +9195,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8822,7 +9220,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8845,10 +9243,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8871,7 +9269,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -8882,7 +9280,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -8892,11 +9290,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -8930,7 +9328,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -8938,28 +9336,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8981,7 +9380,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9004,10 +9403,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9029,7 +9428,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9052,10 +9451,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9078,7 +9477,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -9089,7 +9488,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -9099,41 +9498,42 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object message: - description: Message template + description: message defines the message template type: string roomID: - description: ID of the Webex Teams room where to send the messages. + description: roomID defines the ID of the Webex Teams room where to send the messages. minLength: 1 type: string sendResolved: - description: Whether to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean required: - roomID type: object type: array + x-kubernetes-list-type: atomic webhookConfigs: - description: List of webhook configurations. + description: webhookConfigs defines the List of webhook configurations. items: description: |- WebhookConfig configures notifications via a generic receiver supporting the webhook payload. See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config properties: httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration for webhook requests. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9156,7 +9556,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -9165,12 +9565,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -9194,7 +9594,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -9219,7 +9619,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -9243,27 +9643,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9285,7 +9692,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9309,7 +9716,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -9335,12 +9742,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -9372,7 +9779,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -9380,29 +9787,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9424,7 +9831,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9447,10 +9854,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9472,7 +9879,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9495,10 +9902,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9521,7 +9928,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -9532,7 +9939,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -9542,11 +9949,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -9580,7 +9987,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -9588,28 +9995,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9631,7 +10039,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9654,10 +10062,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9679,7 +10087,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9702,10 +10110,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9728,7 +10136,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -9739,7 +10147,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -9749,35 +10157,37 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object maxAlerts: - description: Maximum number of alerts to be sent per webhook message. When 0, all alerts are included. + description: |- + maxAlerts defines the maximum number of alerts to be sent per webhook message. + When 0, all alerts are included in the webhook payload. format: int32 minimum: 0 type: integer sendResolved: - description: Whether or not to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean timeout: description: |- - The maximum time to wait for a webhook request to complete, before failing the - request and allowing it to be retried. + timeout defines the maximum time to wait for a webhook request to complete, + before failing the request and allowing it to be retried. It requires Alertmanager >= v0.28.0. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string url: description: |- - The URL to send HTTP POST requests to. `urlSecret` takes precedence over - `url`. One of `urlSecret` and `url` should be defined. + url defines the URL to send HTTP POST requests to. + urlSecret takes precedence over url. One of urlSecret and url should be defined. + pattern: ^https?://.+$ type: string urlSecret: description: |- - The secret's key that contains the webhook URL to send HTTP requests to. - `urlSecret` takes precedence over `url`. One of `urlSecret` and `url` - should be defined. + urlSecret defines the secret's key that contains the webhook URL to send HTTP requests to. + urlSecret takes precedence over url. One of urlSecret and url should be defined. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. properties: @@ -9802,18 +10212,22 @@ spec: x-kubernetes-map-type: atomic type: object type: array + x-kubernetes-list-type: atomic wechatConfigs: - description: List of WeChat configurations. + description: wechatConfigs defines the list of WeChat configurations. items: description: |- WeChatConfig configures notifications via WeChat. See https://prometheus.io/docs/alerting/latest/configuration/#wechat_config properties: agentID: + description: |- + agentID defines the application agent ID within WeChat Work. + This identifies which WeChat Work application will send the notifications. type: string apiSecret: description: |- - The secret's key that contains the WeChat API key. + apiSecret defines the secret's key that contains the WeChat API key. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. properties: @@ -9837,21 +10251,26 @@ spec: type: object x-kubernetes-map-type: atomic apiURL: - description: The WeChat API URL. + description: |- + apiURL defines the WeChat API URL. + When not specified, defaults to the standard WeChat Work API endpoint. + pattern: ^https?://.+$ type: string corpID: - description: The corp id for authentication. + description: |- + corpID defines the corp id for authentication. + This is the unique identifier for your WeChat Work organization. type: string httpConfig: - description: HTTP client configuration. + description: httpConfig defines the HTTP client configuration for WeChat API requests. properties: authorization: description: |- - Authorization header configuration for the client. + authorization defines the authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9874,7 +10293,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -9883,12 +10302,12 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. + basicAuth defines the basic authentication credentials for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -9912,7 +10331,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -9937,7 +10356,7 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client + bearerTokenSecret defines the secret's key that contains the bearer token to be used by the client for authentication. The secret needs to be in the same namespace as the AlertmanagerConfig object and accessible by the Prometheus Operator. @@ -9961,27 +10380,34 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects specifies whether the client should follow HTTP 3xx redirects. + When true, the client will automatically follow redirect responses. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 client credentials used to fetch a token for the targets. + This enables OAuth2 authentication flow for HTTP requests. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10003,7 +10429,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10027,7 +10453,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -10053,12 +10479,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -10090,7 +10516,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -10098,29 +10524,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10142,7 +10568,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10165,10 +10591,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10190,7 +10616,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10213,10 +10639,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10239,7 +10665,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -10250,7 +10676,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -10260,11 +10686,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -10298,7 +10724,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -10306,28 +10732,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyURL: description: |- - Optional proxy URL. - + proxyURL defines an optional proxy URL for HTTP requests. If defined, this field takes precedence over `proxyUrl`. type: string proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: |- + tlsConfig defines the TLS configuration for the client. + This includes settings for certificates, CA validation, and TLS protocol options. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10349,7 +10776,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10372,10 +10799,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10397,7 +10824,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10420,10 +10847,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10446,7 +10873,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -10457,7 +10884,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -10467,70 +10894,90 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object message: - description: API request data as defined by the WeChat API. + description: |- + message defines the API request data as defined by the WeChat API. + This contains the actual notification content to be sent. type: string messageType: + description: |- + messageType defines the type of message to send. + Valid values include "text", "markdown", and other WeChat Work supported message types. type: string sendResolved: - description: Whether or not to notify about resolved alerts. + description: sendResolved defines whether or not to notify about resolved alerts. type: boolean toParty: + description: |- + toParty defines the target department(s) to receive the notification. + Can be a single department ID or multiple department IDs separated by '|'. type: string toTag: + description: |- + toTag defines the target tag(s) to receive the notification. + Can be a single tag ID or multiple tag IDs separated by '|'. type: string toUser: + description: |- + toUser defines the target user(s) to receive the notification. + Can be a single user ID or multiple user IDs separated by '|'. type: string type: object type: array + x-kubernetes-list-type: atomic required: - name type: object type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map route: description: |- - The Alertmanager route definition for alerts matching the resource's + route defines the Alertmanager route definition for alerts matching the resource's namespace. If present, it will be added to the generated Alertmanager configuration as a first-level route. properties: activeTimeIntervals: - description: ActiveTimeIntervals is a list of MuteTimeInterval names when this route should be active. + description: activeTimeIntervals is a list of MuteTimeInterval names when this route should be active. items: type: string type: array + x-kubernetes-list-type: set continue: description: |- - Boolean indicating whether an alert should continue matching subsequent + continue defines the boolean indicating whether an alert should continue matching subsequent sibling nodes. It will always be overridden to true for the first-level route by the Prometheus operator. type: boolean groupBy: description: |- - List of labels to group by. + groupBy defines the list of labels to group by. Labels must not be repeated (unique list). Special label "..." (aggregate by all possible labels), if provided, must be the only element in the list. items: type: string type: array + x-kubernetes-list-type: set groupInterval: description: |- - How long to wait before sending an updated notification. + groupInterval defines how long to wait before sending an updated notification. Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$` Example: "5m" type: string groupWait: description: |- - How long to wait before sending the initial notification. + groupWait defines how long to wait before sending the initial notification. Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$` Example: "30s" type: string matchers: description: |- - List of matchers that the alert's labels should match. For the first + matchers defines the list of matchers that the alert's labels should match. For the first level route, the operator removes any existing equality and regexp matcher on the `namespace` label and adds a `namespace: ` matcher. @@ -10539,8 +10986,9 @@ spec: properties: matchType: description: |- - Match operation available with AlertManager >= v0.22.0 and - takes precedence over Regex (deprecated) if non-empty. + matchType defines the match operation available with AlertManager >= v0.22.0. + Takes precedence over Regex (deprecated) if non-empty. + Valid values: "=" (equality), "!=" (inequality), "=~" (regex match), "!~" (regex non-match). enum: - '!=' - = @@ -10548,54 +10996,148 @@ spec: - '!~' type: string name: - description: Label to match. + description: |- + name defines the label to match. + This specifies which alert label should be evaluated. minLength: 1 type: string regex: description: |- - Whether to match on equality (false) or regular-expression (true). + regex defines whether to match on equality (false) or regular-expression (true). Deprecated: for AlertManager >= v0.22.0, `matchType` should be used instead. type: boolean value: - description: Label value to match. + description: |- + value defines the label value to match. + This is the expected value for the specified label. type: string required: - name type: object type: array + x-kubernetes-list-type: atomic muteTimeIntervals: - description: |- - Note: this comment applies to the field definition above but appears - below otherwise it gets included in the generated manifest. - CRD schema doesn't support self-referential types for now (see - https://github.com/kubernetes/kubernetes/issues/62872). We have to use - an alternative type to circumvent the limitation. The downside is that - the Kube API can't validate the data beyond the fact that it is a valid - JSON representation. - MuteTimeIntervals is a list of MuteTimeInterval names that will mute this route when matched, + description: muteTimeIntervals is a list of MuteTimeInterval names that will mute this route when matched, items: type: string type: array + x-kubernetes-list-type: set receiver: description: |- - Name of the receiver for this route. If not empty, it should be listed in + receiver defines the name of the receiver for this route. If not empty, it should be listed in the `receivers` field. type: string repeatInterval: description: |- - How long to wait before repeating the last notification. + repeatInterval defines how long to wait before repeating the last notification. Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$` Example: "4h" type: string routes: - description: Child routes. + description: routes defines the child routes. items: x-kubernetes-preserve-unknown-fields: true type: array + x-kubernetes-list-type: atomic type: object type: object + status: + description: |- + status defines the status subresource. It is under active development and is updated only when the + "StatusForConfigurationResources" feature gate is enabled. + + Most recent observed status of the ServiceMonitor. Read-only. + More info: + https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + bindings: + description: bindings defines the list of workload resources (Prometheus, PrometheusAgent, ThanosRuler or Alertmanager) which select the configuration resource. + items: + description: WorkloadBinding is a link between a configuration resource and a workload resource. + properties: + conditions: + description: conditions defines the current state of the configuration resource when bound to the referenced Workload object. + items: + description: ConfigResourceCondition describes the status of configuration resources linked to Prometheus, PrometheusAgent, Alertmanager or ThanosRuler. + properties: + lastTransitionTime: + description: lastTransitionTime defines the time of the last update to the current status property. + format: date-time + type: string + message: + description: message defines the human-readable message indicating details for the condition's last transition. + type: string + observedGeneration: + description: |- + observedGeneration defines the .metadata.generation that the + condition was set based upon. For instance, if `.metadata.generation` is + currently 12, but the `.status.conditions[].observedGeneration` is 9, the + condition is out of date with respect to the current state of the object. + format: int64 + type: integer + reason: + description: reason for the condition's last transition. + type: string + status: + description: status of the condition. + minLength: 1 + type: string + type: + description: |- + type of the condition being reported. + Currently, only "Accepted" is supported. + enum: + - Accepted + minLength: 1 + type: string + required: + - lastTransitionTime + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + group: + description: group defines the group of the referenced resource. + enum: + - monitoring.coreos.com + type: string + name: + description: name defines the name of the referenced object. + minLength: 1 + type: string + namespace: + description: namespace defines the namespace of the referenced object. + minLength: 1 + type: string + resource: + description: resource defines the type of resource being referenced (e.g. Prometheus, PrometheusAgent, ThanosRuler or Alertmanager). + enum: + - prometheuses + - prometheusagents + - thanosrulers + - alertmanagers + type: string + required: + - group + - name + - namespace + - resource + type: object + type: array + x-kubernetes-list-map-keys: + - group + - resource + - name + - namespace + x-kubernetes-list-type: map + type: object required: - spec type: object served: true storage: true + subresources: + status: {} diff --git a/modules/observability/prometheus-operator/base/crds/alertmanagers.monitoring.coreos.com.yaml b/modules/observability/prometheus-operator/base/crds/alertmanagers.monitoring.coreos.com.yaml index 12be0c4c..a79fc888 100644 --- a/modules/observability/prometheus-operator/base/crds/alertmanagers.monitoring.coreos.com.yaml +++ b/modules/observability/prometheus-operator/base/crds/alertmanagers.monitoring.coreos.com.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 - operator.prometheus.io/version: 0.85.0 + controller-gen.kubebuilder.io/version: v0.19.0 + operator.prometheus.io/version: 0.87.1 name: alertmanagers.monitoring.coreos.com spec: group: monitoring.coreos.com @@ -75,12 +75,12 @@ spec: type: object spec: description: |- - Specification of the desired behavior of the Alertmanager cluster. More info: + spec defines the specification of the desired behavior of the Alertmanager cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: additionalArgs: description: |- - AdditionalArgs allows setting additional arguments for the 'Alertmanager' container. + additionalArgs allows setting additional arguments for the 'Alertmanager' container. It is intended for e.g. activating hidden flags which are not supported by the dedicated configuration options yet. The arguments are passed as-is to the Alertmanager container which may cause issues if they are invalid or not supported @@ -89,23 +89,23 @@ spec: description: Argument as part of the AdditionalArgs list. properties: name: - description: Name of the argument, e.g. "scrape.discovery-reload-interval". + description: name of the argument, e.g. "scrape.discovery-reload-interval". minLength: 1 type: string value: - description: Argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) + description: value defines the argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) type: string required: - name type: object type: array additionalPeers: - description: AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster. + description: additionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster. items: type: string type: array affinity: - description: If specified, the pod's scheduling constraints. + description: affinity defines the pod's scheduling constraints. properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. @@ -979,13 +979,13 @@ spec: type: object alertmanagerConfigMatcherStrategy: description: |- - AlertmanagerConfigMatcherStrategy defines how AlertmanagerConfig objects + alertmanagerConfigMatcherStrategy defines how AlertmanagerConfig objects process incoming alerts. properties: type: default: OnNamespace description: |- - AlertmanagerConfigMatcherStrategyType defines the strategy used by + type defines the strategy used by AlertmanagerConfig objects to match alerts in the routes and inhibition rules. @@ -998,7 +998,7 @@ spec: type: object alertmanagerConfigNamespaceSelector: description: |- - Namespaces to be selected for AlertmanagerConfig discovery. If nil, only + alertmanagerConfigNamespaceSelector defines the namespaces to be selected for AlertmanagerConfig discovery. If nil, only check own namespace. properties: matchExpressions: @@ -1043,7 +1043,7 @@ spec: type: object x-kubernetes-map-type: atomic alertmanagerConfigSelector: - description: AlertmanagerConfigs to be selected for to merge and configure Alertmanager with. + description: alertmanagerConfigSelector defines the selector to be used for to merge and configure Alertmanager with. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -1088,7 +1088,7 @@ spec: x-kubernetes-map-type: atomic alertmanagerConfiguration: description: |- - alertmanagerConfiguration specifies the configuration of Alertmanager. + alertmanagerConfiguration defines the configuration of Alertmanager. If defined, it takes precedence over the `configSecret` field. @@ -1096,18 +1096,20 @@ spec: in a breaking way. properties: global: - description: Defines the global parameters of the Alertmanager configuration. + description: global defines the global parameters of the Alertmanager configuration. properties: httpConfig: - description: HTTP client configuration. + description: httpConfig defines the default HTTP configuration. properties: authorization: description: |- - Authorization header configuration for the client. - This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. + authorization configures the Authorization header credentials used by + the client. + + Cannot be set at the same time as `basicAuth`, `bearerTokenSecret` or `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1130,7 +1132,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -1139,12 +1141,14 @@ spec: type: object basicAuth: description: |- - BasicAuth for the client. - This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. + basicAuth defines the Basic Authentication credentials used by the + client. + + Cannot be set at the same time as `authorization`, `bearerTokenSecret` or `oauth2`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -1168,7 +1172,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -1193,10 +1197,14 @@ spec: type: object bearerTokenSecret: description: |- - The secret's key that contains the bearer token to be used by the client - for authentication. - The secret needs to be in the same namespace as the Alertmanager - object and accessible by the Prometheus Operator. + bearerTokenSecret defines a key of a Secret containing the bearer token + used by the client for authentication. The secret needs to be in the + same namespace as the custom resource and readable by the Prometheus + Operator. + + Cannot be set at the same time as `authorization`, `basicAuth` or `oauth2`. + + Deprecated: use `authorization` instead. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1217,27 +1225,37 @@ spec: - key type: object x-kubernetes-map-type: atomic + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean followRedirects: - description: FollowRedirects specifies whether the client should follow HTTP 3xx redirects. + description: |- + followRedirects defines whether the client should follow HTTP 3xx + redirects. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: OAuth2 client credentials used to fetch a token for the targets. + description: |- + oauth2 defines the OAuth2 settings used by the client. + + It requires Prometheus >= 2.27.0. + + Cannot be set at the same time as `authorization`, `basicAuth` or `bearerTokenSecret`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1259,7 +1277,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1283,7 +1301,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -1309,12 +1327,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -1346,7 +1364,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -1354,29 +1372,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1398,7 +1416,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1421,10 +1439,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1446,7 +1464,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1469,10 +1487,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1495,7 +1513,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -1506,7 +1524,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -1516,11 +1534,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -1554,7 +1572,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -1562,22 +1580,22 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string tlsConfig: - description: TLS configuration for the client. + description: tlsConfig defines the TLS configuration used by the client. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1599,7 +1617,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1622,10 +1640,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1647,7 +1665,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1670,10 +1688,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1696,7 +1714,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -1707,7 +1725,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -1717,23 +1735,23 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object jira: - description: The default configuration for Jira. + description: jira defines the default configuration for Jira. properties: apiURL: description: |- - The default Jira API URL. + apiURL defines the default Jira API URL. It requires Alertmanager >= v0.28.0. pattern: ^(http|https)://.+$ type: string type: object opsGenieApiKey: - description: The default OpsGenie API Key. + description: opsGenieApiKey defines the default OpsGenie API Key. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1755,7 +1773,7 @@ spec: type: object x-kubernetes-map-type: atomic opsGenieApiUrl: - description: The default OpsGenie API URL. + description: opsGenieApiUrl defines the default OpsGenie API URL. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1777,28 +1795,29 @@ spec: type: object x-kubernetes-map-type: atomic pagerdutyUrl: - description: The default Pagerduty URL. + description: pagerdutyUrl defines the default Pagerduty URL. + pattern: ^(http|https)://.+$ type: string resolveTimeout: description: |- - ResolveTimeout is the default value used by alertmanager if the alert does + resolveTimeout defines the default value used by alertmanager if the alert does not include EndsAt, after this time passes it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string rocketChat: - description: The default configuration for Rocket Chat. + description: rocketChat defines the default configuration for Rocket Chat. properties: apiURL: description: |- - The default Rocket Chat API URL. + apiURL defines the default Rocket Chat API URL. It requires Alertmanager >= v0.28.0. pattern: ^(http|https)://.+$ type: string token: description: |- - The default Rocket Chat token. + token defines the default Rocket Chat token. It requires Alertmanager >= v0.28.0. properties: @@ -1823,7 +1842,7 @@ spec: x-kubernetes-map-type: atomic tokenID: description: |- - The default Rocket Chat Token ID. + tokenID defines the default Rocket Chat Token ID. It requires Alertmanager >= v0.28.0. properties: @@ -1848,7 +1867,7 @@ spec: x-kubernetes-map-type: atomic type: object slackApiUrl: - description: The default Slack API URL. + description: slackApiUrl defines the default Slack API URL. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1870,13 +1889,13 @@ spec: type: object x-kubernetes-map-type: atomic smtp: - description: Configures global SMTP parameters. + description: smtp defines global SMTP parameters. properties: authIdentity: - description: SMTP Auth using PLAIN + description: authIdentity represents SMTP Auth using PLAIN type: string authPassword: - description: SMTP Auth using LOGIN and PLAIN. + description: authPassword represents SMTP Auth using LOGIN and PLAIN. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1898,7 +1917,7 @@ spec: type: object x-kubernetes-map-type: atomic authSecret: - description: SMTP Auth using CRAM-MD5. + description: authSecret represents SMTP Auth using CRAM-MD5. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1920,28 +1939,28 @@ spec: type: object x-kubernetes-map-type: atomic authUsername: - description: SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. + description: authUsername represents SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. type: string from: - description: The default SMTP From header field. + description: from defines the default SMTP From header field. type: string hello: - description: The default hostname to identify to the SMTP server. + description: hello defines the default hostname to identify to the SMTP server. type: string requireTLS: description: |- - The default SMTP TLS requirement. + requireTLS defines the default SMTP TLS requirement. Note that Go does not support unencrypted connections to remote SMTP endpoints. type: boolean smartHost: - description: The default SMTP smarthost used for sending emails. + description: smartHost defines the default SMTP smarthost used for sending emails. properties: host: - description: Defines the host's address, it can be a DNS name or a literal IP address. + description: host defines the host's address, it can be a DNS name or a literal IP address. minLength: 1 type: string port: - description: Defines the host's port, it can be a literal port number or a port name. + description: port defines the host's port, it can be a literal port number or a port name. minLength: 1 type: string required: @@ -1949,13 +1968,13 @@ spec: - port type: object tlsConfig: - description: The default TLS configuration for SMTP receivers + description: tlsConfig defines the default TLS configuration for SMTP receivers properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1977,7 +1996,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2000,10 +2019,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2025,7 +2044,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2048,10 +2067,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2074,7 +2093,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -2085,7 +2104,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -2095,26 +2114,26 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object telegram: - description: The default Telegram config + description: telegram defines the default Telegram config properties: apiURL: description: |- - The default Telegram API URL. + apiURL defines he default Telegram API URL. It requires Alertmanager >= v0.24.0. pattern: ^(http|https)://.+$ type: string type: object victorops: - description: The default configuration for VictorOps. + description: victorops defines the default configuration for VictorOps. properties: apiKey: - description: The default VictorOps API Key. + description: apiKey defines the default VictorOps API Key. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2136,30 +2155,30 @@ spec: type: object x-kubernetes-map-type: atomic apiURL: - description: The default VictorOps API URL. + description: apiURL defines the default VictorOps API URL. pattern: ^(http|https)://.+$ type: string type: object webex: - description: The default configuration for Jira. + description: webex defines the default configuration for Jira. properties: apiURL: description: |- - The default Webex API URL. + apiURL defines the is the default Webex API URL. It requires Alertmanager >= v0.25.0. pattern: ^(http|https)://.+$ type: string type: object wechat: - description: The default WeChat Config + description: wechat defines the default WeChat Config properties: apiCorpID: - description: The default WeChat API Corporate ID. + description: apiCorpID defines the default WeChat API Corporate ID. minLength: 1 type: string apiSecret: - description: The default WeChat API Secret. + description: apiSecret defines the default WeChat API Secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2182,7 +2201,7 @@ spec: x-kubernetes-map-type: atomic apiURL: description: |- - The default WeChat API URL. + apiURL defines he default WeChat API URL. The default value is "https://qyapi.weixin.qq.com/cgi-bin/" pattern: ^(http|https)://.+$ type: string @@ -2190,18 +2209,18 @@ spec: type: object name: description: |- - The name of the AlertmanagerConfig resource which is used to generate the Alertmanager configuration. + name defines the name of the AlertmanagerConfig custom resource which is used to generate the Alertmanager configuration. It must be defined in the same namespace as the Alertmanager object. The operator will not enforce a `namespace` label for routes and inhibition rules. minLength: 1 type: string templates: - description: Custom notification templates. + description: templates defines the custom notification templates. items: description: SecretOrConfigMap allows to specify data as a Secret or ConfigMap. Fields are mutually exclusive. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2223,7 +2242,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2249,51 +2268,51 @@ spec: type: object automountServiceAccountToken: description: |- - AutomountServiceAccountToken indicates whether a service account token should be automatically mounted in the pod. + automountServiceAccountToken defines whether a service account token should be automatically mounted in the pod. If the service account has `automountServiceAccountToken: true`, set the field to `false` to opt out of automounting API credentials. type: boolean baseImage: description: |- - Base image that is used to deploy pods, without tag. + baseImage that is used to deploy pods, without tag. Deprecated: use 'image' instead. type: string clusterAdvertiseAddress: description: |- - ClusterAdvertiseAddress is the explicit address to advertise in cluster. + clusterAdvertiseAddress defines the explicit address to advertise in cluster. Needs to be provided for non RFC1918 [1] (public) addresses. [1] RFC1918: https://tools.ietf.org/html/rfc1918 type: string clusterGossipInterval: - description: Interval between gossip attempts. + description: clusterGossipInterval defines the interval between gossip attempts. pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string clusterLabel: description: |- - Defines the identifier that uniquely identifies the Alertmanager cluster. + clusterLabel defines the identifier that uniquely identifies the Alertmanager cluster. You should only set it when the Alertmanager cluster includes Alertmanager instances which are external to this Alertmanager resource. In practice, the addresses of the external instances are provided via the `.spec.additionalPeers` field. type: string clusterPeerTimeout: - description: Timeout for cluster peering. + description: clusterPeerTimeout defines the timeout for cluster peering. pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string clusterPushpullInterval: - description: Interval between pushpull attempts. + description: clusterPushpullInterval defines the interval between pushpull attempts. pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string clusterTLS: description: |- - Configures the mutual TLS configuration for the Alertmanager cluster's gossip protocol. + clusterTLS defines the mutual TLS configuration for the Alertmanager cluster's gossip protocol. It requires Alertmanager >= 0.24.0. properties: client: - description: Client-side configuration for mutual TLS. + description: client defines the client-side configuration for mutual TLS. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2315,7 +2334,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2338,10 +2357,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2363,7 +2382,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2386,10 +2405,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2412,7 +2431,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -2423,7 +2442,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -2433,22 +2452,22 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object server: - description: Server-side configuration for mutual TLS. + description: server defines the server-side configuration for mutual TLS. properties: cert: description: |- - Secret or ConfigMap containing the TLS certificate for the web server. + cert defines the Secret or ConfigMap containing the TLS certificate for the web server. Either `keySecret` or `keyFile` must be defined. It is mutually exclusive with `certFile`. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2470,7 +2489,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2494,7 +2513,7 @@ spec: type: object certFile: description: |- - Path to the TLS certificate file in the container for the web server. + certFile defines the path to the TLS certificate file in the container for the web server. Either `keySecret` or `keyFile` must be defined. @@ -2502,7 +2521,7 @@ spec: type: string cipherSuites: description: |- - List of supported cipher suites for TLS versions up to TLS 1.2. + cipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. If not defined, the Go default cipher suites are used. Available cipher suites are documented in the Go documentation: @@ -2512,13 +2531,13 @@ spec: type: array client_ca: description: |- - Secret or ConfigMap containing the CA certificate for client certificate + client_ca defines the Secret or ConfigMap containing the CA certificate for client certificate authentication to the server. It is mutually exclusive with `clientCAFile`. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2540,7 +2559,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2564,21 +2583,21 @@ spec: type: object clientAuthType: description: |- - The server policy for client TLS authentication. + clientAuthType defines the server policy for client TLS authentication. For more detail on clientAuth options: https://golang.org/pkg/crypto/tls/#ClientAuthType type: string clientCAFile: description: |- - Path to the CA certificate file for client certificate authentication to + clientCAFile defines the path to the CA certificate file for client certificate authentication to the server. It is mutually exclusive with `client_ca`. type: string curvePreferences: description: |- - Elliptic curves that will be used in an ECDHE handshake, in preference + curvePreferences defines elliptic curves that will be used in an ECDHE handshake, in preference order. Available curves are documented in the Go documentation: @@ -2588,7 +2607,7 @@ spec: type: array keyFile: description: |- - Path to the TLS private key file in the container for the web server. + keyFile defines the path to the TLS private key file in the container for the web server. If defined, either `cert` or `certFile` must be defined. @@ -2596,7 +2615,7 @@ spec: type: string keySecret: description: |- - Secret containing the TLS private key for the web server. + keySecret defines the secret containing the TLS private key for the web server. Either `cert` or `certFile` must be defined. @@ -2622,14 +2641,14 @@ spec: type: object x-kubernetes-map-type: atomic maxVersion: - description: Maximum TLS version that is acceptable. + description: maxVersion defines the Maximum TLS version that is acceptable. type: string minVersion: - description: Minimum TLS version that is acceptable. + description: minVersion defines the minimum TLS version that is acceptable. type: string preferServerCipherSuites: description: |- - Controls whether the server selects the client's most preferred cipher + preferServerCipherSuites defines whether the server selects the client's most preferred cipher suite, or the server's most preferred cipher suite. If true then the server's preference, as expressed in @@ -2642,7 +2661,7 @@ spec: type: object configMaps: description: |- - ConfigMaps is a list of ConfigMaps in the same namespace as the Alertmanager + configMaps defines a list of ConfigMaps in the same namespace as the Alertmanager object, which shall be mounted into the Alertmanager Pods. Each ConfigMap is added to the StatefulSet definition as a volume named `configmap-`. The ConfigMaps are mounted into `/etc/alertmanager/configmaps/` in the 'alertmanager' container. @@ -2651,7 +2670,7 @@ spec: type: array configSecret: description: |- - ConfigSecret is the name of a Kubernetes Secret in the same namespace as the + configSecret defines the name of a Kubernetes Secret in the same namespace as the Alertmanager object, which contains the configuration for this Alertmanager instance. If empty, it defaults to `alertmanager-`. @@ -2666,7 +2685,7 @@ spec: type: string containers: description: |- - Containers allows injecting additional containers. This is meant to + containers allows injecting additional containers. This is meant to allow adding an authentication proxy to an Alertmanager pod. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge @@ -4134,12 +4153,20 @@ spec: - name type: object type: array + dispatchStartDelay: + description: |- + dispatchStartDelay defines the delay duration of the aggregation groups' first flush. + The delay helps ensuring that all alerts have been resent by the Prometheus instances to Alertmanager after a roll-out. + + It requires Alertmanager >= 0.30.0. + pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string dnsConfig: - description: Defines the DNS configuration for the pods. + description: dnsConfig defines the DNS configuration for the pods. properties: nameservers: description: |- - A list of DNS name server IP addresses. + nameservers defines the list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. items: minLength: 1 @@ -4148,7 +4175,7 @@ spec: x-kubernetes-list-type: set options: description: |- - A list of DNS resolver options. + options defines the list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Resolution options given in Options will override those that appear in the base DNSPolicy. @@ -4156,11 +4183,11 @@ spec: description: PodDNSConfigOption defines DNS resolver options of a pod. properties: name: - description: Name is required and must be unique. + description: name is required and must be unique. minLength: 1 type: string value: - description: Value is optional. + description: value is optional. type: string required: - name @@ -4171,7 +4198,7 @@ spec: x-kubernetes-list-type: map searches: description: |- - A list of DNS search domains for host-name lookup. + searches defines the list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. items: minLength: 1 @@ -4180,7 +4207,7 @@ spec: x-kubernetes-list-type: set type: object dnsPolicy: - description: Defines the DNS policy for the pods. + description: dnsPolicy defines the DNS policy for the pods. enum: - ClusterFirstWithHostNet - ClusterFirst @@ -4189,7 +4216,7 @@ spec: type: string enableFeatures: description: |- - Enable access to Alertmanager feature flags. By default, no features are enabled. + enableFeatures defines the Alertmanager's feature flags. By default, no features are enabled. Enabling features which are disabled by default is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice. @@ -4199,33 +4226,33 @@ spec: type: string type: array enableServiceLinks: - description: Indicates whether information about services should be injected into pod's environment variables + description: enableServiceLinks defines whether information about services should be injected into pod's environment variables type: boolean externalUrl: description: |- - The external URL the Alertmanager instances will be available under. This is + externalUrl defines the URL used to access the Alertmanager web service. This is necessary to generate correct URLs. This is necessary if Alertmanager is not served from root of a DNS name. type: string forceEnableClusterMode: description: |- - ForceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica. + forceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica. Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each. type: boolean hostAliases: - description: Pods' hostAliases configuration + description: hostAliases Pods configuration items: description: |- HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file. properties: hostnames: - description: Hostnames for the above IP address. + description: hostnames defines hostnames for the above IP address. items: type: string type: array ip: - description: IP address of the host file entry. + description: ip defines the IP address of the host file entry. type: string required: - hostnames @@ -4237,7 +4264,7 @@ spec: x-kubernetes-list-type: map hostUsers: description: |- - HostUsers supports the user space in Kubernetes. + hostUsers supports the user space in Kubernetes. More info: https://kubernetes.io/docs/tasks/configure-pod-container/user-namespaces/ @@ -4246,14 +4273,14 @@ spec: type: boolean image: description: |- - Image if specified has precedence over baseImage, tag and sha + image if specified has precedence over baseImage, tag and sha combinations. Specifying the version is still necessary to ensure the Prometheus Operator knows what version of Alertmanager is being configured. type: string imagePullPolicy: description: |- - Image pull policy for the 'alertmanager', 'init-config-reloader' and 'config-reloader' containers. + imagePullPolicy for the 'alertmanager', 'init-config-reloader' and 'config-reloader' containers. See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details. enum: - "" @@ -4263,7 +4290,7 @@ spec: type: string imagePullSecrets: description: |- - An optional list of references to secrets in the same namespace + imagePullSecrets An optional list of references to secrets in the same namespace to use for pulling prometheus and alertmanager images from registries see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ items: @@ -4285,7 +4312,7 @@ spec: type: array initContainers: description: |- - InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. + initContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the Alertmanager configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ InitContainers described here modify an operator @@ -5755,18 +5782,18 @@ spec: type: object type: array limits: - description: Defines the limits command line flags when starting Alertmanager. + description: limits defines the limits command line flags when starting Alertmanager. properties: maxPerSilenceBytes: description: |- - The maximum size of an individual silence as stored on disk. This corresponds to the Alertmanager's + maxPerSilenceBytes defines the maximum size of an individual silence as stored on disk. This corresponds to the Alertmanager's `--silences.max-per-silence-bytes` flag. It requires Alertmanager >= v0.28.0. pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$ type: string maxSilences: description: |- - The maximum number active and pending silences. This corresponds to the + maxSilences defines the maximum number active and pending silences. This corresponds to the Alertmanager's `--silences.max-silences` flag. It requires Alertmanager >= v0.28.0. format: int32 @@ -5775,19 +5802,19 @@ spec: type: object listenLocal: description: |- - ListenLocal makes the Alertmanager server listen on loopback, so that it + listenLocal defines the Alertmanager server listen on loopback, so that it does not bind against the Pod IP. Note this is only for the Alertmanager UI, not the gossip communication. type: boolean logFormat: - description: Log format for Alertmanager to be configured with. + description: logFormat for Alertmanager to be configured with. enum: - "" - logfmt - json type: string logLevel: - description: Log level for Alertmanager to be configured with. + description: logLevel for Alertmanager to be configured with. enum: - "" - debug @@ -5797,7 +5824,7 @@ spec: type: string minReadySeconds: description: |- - Minimum number of seconds for which a newly created pod should be ready + minReadySeconds defines the minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. If unset, pods will be considered available as soon as they are ready. @@ -5807,16 +5834,16 @@ spec: nodeSelector: additionalProperties: type: string - description: Define which Nodes the Pods are scheduled on. + description: nodeSelector defines which Nodes the Pods are scheduled on. type: object paused: description: |- - If set to true all actions on the underlying managed objects are not + paused if set to true all actions on the underlying managed objects are not going to be performed, except for delete actions. type: boolean persistentVolumeClaimRetentionPolicy: description: |- - The field controls if and how PVCs are deleted during the lifecycle of a StatefulSet. + persistentVolumeClaimRetentionPolicy controls if and how PVCs are deleted during the lifecycle of a StatefulSet. The default behavior is all PVCs are retained. This is an alpha field from kubernetes 1.23 until 1.26 and a beta field from 1.26. It requires enabling the StatefulSetAutoDeletePVC feature gate. @@ -5837,9 +5864,24 @@ spec: the replica count to be deleted. type: string type: object + podManagementPolicy: + description: |- + podManagementPolicy defines the policy for creating/deleting pods when + scaling up and down. + + Unlike the default StatefulSet behavior, the default policy is + `Parallel` to avoid manual intervention in case a pod gets stuck during + a rollout. + + Note that updating this value implies the recreation of the StatefulSet + which incurs a service outage. + enum: + - OrderedReady + - Parallel + type: string podMetadata: description: |- - PodMetadata configures labels and annotations which are propagated to the Alertmanager pods. + podMetadata defines labels and annotations which are propagated to the Alertmanager pods. The following items are reserved and cannot be overridden: * "alertmanager" label, set to the name of the Alertmanager instance. @@ -5853,7 +5895,7 @@ spec: additionalProperties: type: string description: |- - Annotations is an unstructured key value map stored with a resource that may be + annotations defines 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/ @@ -5862,14 +5904,14 @@ spec: additionalProperties: type: string description: |- - Map of string keys and values that can be used to organize and categorize + labels define the 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 name: description: |- - Name must be unique within a namespace. Is required when creating resources, although + 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. @@ -5880,21 +5922,21 @@ spec: portName: default: web description: |- - Port name used for the pods and governing service. + portName defines the port's name for the pods and governing service. Defaults to `web`. type: string priorityClassName: - description: Priority class assigned to the Pods + description: priorityClassName assigned to the Pods type: string replicas: description: |- - Size is the expected size of the alertmanager cluster. The controller will + replicas defines the expected size of the alertmanager cluster. The controller will eventually make the size of the running cluster equal to the expected size. format: int32 type: integer resources: - description: Define resources requests and limits for single Pods. + description: resources defines the resource requests and limits of the Pods. properties: claims: description: |- @@ -5955,20 +5997,20 @@ spec: retention: default: 120h description: |- - Time duration Alertmanager shall retain data for. Default is '120h', + retention defines the time duration Alertmanager shall retain data for. Default is '120h', and must match the regular expression `[0-9]+(ms|s|m|h)` (milliseconds seconds minutes hours). pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string routePrefix: description: |- - The route prefix Alertmanager registers HTTP handlers for. This is useful, + routePrefix Alertmanager registers HTTP handlers for. This is useful, if using ExternalURL and a proxy is rewriting HTTP routes of a request, and the actual ExternalURL is still true, but the server serves requests under a different route prefix. For example for use with `kubectl proxy`. type: string secrets: description: |- - Secrets is a list of Secrets in the same namespace as the Alertmanager + secrets is a list of Secrets in the same namespace as the Alertmanager object, which shall be mounted into the Alertmanager Pods. Each Secret is added to the StatefulSet definition as a volume named `secret-`. The Secrets are mounted into `/etc/alertmanager/secrets/` in the 'alertmanager' container. @@ -5977,7 +6019,7 @@ spec: type: array securityContext: description: |- - SecurityContext holds pod-level security attributes and common container settings. + securityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext. properties: appArmorProfile: @@ -6206,36 +6248,36 @@ spec: type: object serviceAccountName: description: |- - ServiceAccountName is the name of the ServiceAccount to use to run the + serviceAccountName is the name of the ServiceAccount to use to run the Prometheus Pods. type: string serviceName: description: |- - The name of the service name used by the underlying StatefulSet(s) as the governing service. + serviceName defines the service name used by the underlying StatefulSet(s) as the governing service. If defined, the Service must be created before the Alertmanager resource in the same namespace and it must define a selector that matches the pod labels. - If empty, the operator will create and manage a headless service named `alertmanager-operated` for Alermanager resources. + If empty, the operator will create and manage a headless service named `alertmanager-operated` for Alertmanager resources. When deploying multiple Alertmanager resources in the same namespace, it is recommended to specify a different value for each. See https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-network-id for more details. minLength: 1 type: string sha: description: |- - SHA of Alertmanager container image to be deployed. Defaults to the value of `version`. + sha of Alertmanager container image to be deployed. Defaults to the value of `version`. Similar to a tag, but the SHA explicitly deploys an immutable container image. Version and Tag are ignored if SHA is set. Deprecated: use 'image' instead. The image digest can be specified as part of the image URL. type: string storage: description: |- - Storage is the definition of how storage will be used by the Alertmanager + storage defines the definition of how storage will be used by the Alertmanager instances. properties: disableMountSubPath: - description: 'Deprecated: subPath usage will be removed in a future release.' + description: 'disableMountSubPath deprecated: subPath usage will be removed in a future release.' type: boolean emptyDir: description: |- - EmptyDirVolumeSource to be used by the StatefulSet. + emptyDir to be used by the StatefulSet. If specified, it takes precedence over `ephemeral` and `volumeClaimTemplate`. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir properties: @@ -6262,7 +6304,7 @@ spec: type: object ephemeral: description: |- - EphemeralVolumeSource to be used by the StatefulSet. + ephemeral to be used by the StatefulSet. This is a beta field in k8s 1.21 and GA in 1.15. For lower versions, starting with k8s 1.19, it requires enabling the GenericEphemeralVolume feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes @@ -6498,7 +6540,7 @@ spec: type: object volumeClaimTemplate: description: |- - Defines the PVC spec to be used by the Prometheus StatefulSets. + volumeClaimTemplate defines the PVC spec to be used by the Prometheus StatefulSets. The easiest way to use a volume that cannot be automatically provisioned is to use a label selector alongside manually created PersistentVolumes. properties: @@ -6518,13 +6560,13 @@ spec: More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: - description: EmbeddedMetadata contains metadata relevant to an EmbeddedResource. + description: metadata defines EmbeddedMetadata contains metadata relevant to an EmbeddedResource. properties: annotations: additionalProperties: type: string description: |- - Annotations is an unstructured key value map stored with a resource that may be + annotations defines 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/ @@ -6533,14 +6575,14 @@ spec: additionalProperties: type: string description: |- - Map of string keys and values that can be used to organize and categorize + labels define the 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 name: description: |- - Name must be unique within a namespace. Is required when creating resources, although + 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. @@ -6550,7 +6592,7 @@ spec: type: object spec: description: |- - Defines the desired characteristics of a volume requested by a pod author. + spec defines the specification of the characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: @@ -6742,7 +6784,7 @@ spec: type: string type: object status: - description: 'Deprecated: this field is never set.' + description: 'status is deprecated: this field is never set.' properties: accessModes: description: |- @@ -6850,13 +6892,13 @@ spec: type: object tag: description: |- - Tag of Alertmanager container image to be deployed. Defaults to the value of `version`. + tag of Alertmanager container image to be deployed. Defaults to the value of `version`. Version is ignored if Tag is set. Deprecated: use 'image' instead. The image tag can be specified as part of the image URL. type: string terminationGracePeriodSeconds: description: |- - Optional duration in seconds the pod needs to terminate gracefully. + terminationGracePeriodSeconds defines the Optional duration in seconds the pod needs to terminate gracefully. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down) which may lead to data corruption. @@ -6865,7 +6907,7 @@ spec: minimum: 0 type: integer tolerations: - description: If specified, the pod's tolerations. + description: tolerations defines the pod's tolerations. items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -6904,7 +6946,7 @@ spec: type: object type: array topologySpreadConstraints: - description: If specified, the pod's topology spread constraints. + description: topologySpreadConstraints defines the Pod's topology spread constraints. items: description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. properties: @@ -7075,11 +7117,11 @@ spec: type: object type: array version: - description: Version the cluster should be on. + description: version the cluster should be on. type: string volumeMounts: description: |- - VolumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition. + volumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition. VolumeMounts specified will be appended to other VolumeMounts in the alertmanager container, that are generated as a result of StorageSpec objects. items: @@ -7145,7 +7187,7 @@ spec: type: array volumes: description: |- - Volumes allows configuration of additional volumes on the output StatefulSet definition. + volumes allows configuration of additional volumes on the output StatefulSet definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects. items: @@ -8945,28 +8987,28 @@ spec: type: object type: array web: - description: Defines the web command line flags when starting Alertmanager. + description: web defines the web command line flags when starting Alertmanager. properties: getConcurrency: description: |- - Maximum number of GET requests processed concurrently. This corresponds to the + getConcurrency defines the maximum number of GET requests processed concurrently. This corresponds to the Alertmanager's `--web.get-concurrency` flag. format: int32 type: integer httpConfig: - description: Defines HTTP parameters for web server. + description: httpConfig defines HTTP parameters for web server. properties: headers: - description: List of headers that can be added to HTTP responses. + description: headers defines a list of headers that can be added to HTTP responses. properties: contentSecurityPolicy: description: |- - Set the Content-Security-Policy header to HTTP responses. + contentSecurityPolicy defines the Content-Security-Policy header to HTTP responses. Unset if blank. type: string strictTransportSecurity: description: |- - Set the Strict-Transport-Security header to HTTP responses. + strictTransportSecurity defines the Strict-Transport-Security header to HTTP responses. Unset if blank. Please make sure that you use this with care as this header might force browsers to load Prometheus and the other applications hosted on the same @@ -8975,7 +9017,7 @@ spec: type: string xContentTypeOptions: description: |- - Set the X-Content-Type-Options header to HTTP responses. + xContentTypeOptions defines the X-Content-Type-Options header to HTTP responses. Unset if blank. Accepted value is nosniff. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options enum: @@ -8984,7 +9026,7 @@ spec: type: string xFrameOptions: description: |- - Set the X-Frame-Options header to HTTP responses. + xFrameOptions defines the X-Frame-Options header to HTTP responses. Unset if blank. Accepted values are deny and sameorigin. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options enum: @@ -8994,37 +9036,37 @@ spec: type: string xXSSProtection: description: |- - Set the X-XSS-Protection header to all responses. + xXSSProtection defines the X-XSS-Protection header to all responses. Unset if blank. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection type: string type: object http2: description: |- - Enable HTTP/2 support. Note that HTTP/2 is only supported with TLS. + http2 enable HTTP/2 support. Note that HTTP/2 is only supported with TLS. When TLSConfig is not configured, HTTP/2 will be disabled. Whenever the value of the field changes, a rolling update will be triggered. type: boolean type: object timeout: description: |- - Timeout for HTTP requests. This corresponds to the Alertmanager's + timeout for HTTP requests. This corresponds to the Alertmanager's `--web.timeout` flag. format: int32 type: integer tlsConfig: - description: Defines the TLS parameters for HTTPS. + description: tlsConfig defines the TLS parameters for HTTPS. properties: cert: description: |- - Secret or ConfigMap containing the TLS certificate for the web server. + cert defines the Secret or ConfigMap containing the TLS certificate for the web server. Either `keySecret` or `keyFile` must be defined. It is mutually exclusive with `certFile`. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9046,7 +9088,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9070,7 +9112,7 @@ spec: type: object certFile: description: |- - Path to the TLS certificate file in the container for the web server. + certFile defines the path to the TLS certificate file in the container for the web server. Either `keySecret` or `keyFile` must be defined. @@ -9078,7 +9120,7 @@ spec: type: string cipherSuites: description: |- - List of supported cipher suites for TLS versions up to TLS 1.2. + cipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. If not defined, the Go default cipher suites are used. Available cipher suites are documented in the Go documentation: @@ -9088,13 +9130,13 @@ spec: type: array client_ca: description: |- - Secret or ConfigMap containing the CA certificate for client certificate + client_ca defines the Secret or ConfigMap containing the CA certificate for client certificate authentication to the server. It is mutually exclusive with `clientCAFile`. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9116,7 +9158,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9140,21 +9182,21 @@ spec: type: object clientAuthType: description: |- - The server policy for client TLS authentication. + clientAuthType defines the server policy for client TLS authentication. For more detail on clientAuth options: https://golang.org/pkg/crypto/tls/#ClientAuthType type: string clientCAFile: description: |- - Path to the CA certificate file for client certificate authentication to + clientCAFile defines the path to the CA certificate file for client certificate authentication to the server. It is mutually exclusive with `client_ca`. type: string curvePreferences: description: |- - Elliptic curves that will be used in an ECDHE handshake, in preference + curvePreferences defines elliptic curves that will be used in an ECDHE handshake, in preference order. Available curves are documented in the Go documentation: @@ -9164,7 +9206,7 @@ spec: type: array keyFile: description: |- - Path to the TLS private key file in the container for the web server. + keyFile defines the path to the TLS private key file in the container for the web server. If defined, either `cert` or `certFile` must be defined. @@ -9172,7 +9214,7 @@ spec: type: string keySecret: description: |- - Secret containing the TLS private key for the web server. + keySecret defines the secret containing the TLS private key for the web server. Either `cert` or `certFile` must be defined. @@ -9198,14 +9240,14 @@ spec: type: object x-kubernetes-map-type: atomic maxVersion: - description: Maximum TLS version that is acceptable. + description: maxVersion defines the Maximum TLS version that is acceptable. type: string minVersion: - description: Minimum TLS version that is acceptable. + description: minVersion defines the minimum TLS version that is acceptable. type: string preferServerCipherSuites: description: |- - Controls whether the server selects the client's most preferred cipher + preferServerCipherSuites defines whether the server selects the client's most preferred cipher suite, or the server's most preferred cipher suite. If true then the server's preference, as expressed in @@ -9216,18 +9258,18 @@ spec: type: object status: description: |- - Most recent observed status of the Alertmanager cluster. Read-only. + status defines the most recent observed status of the Alertmanager cluster. Read-only. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: availableReplicas: description: |- - Total number of available pods (ready for at least minReadySeconds) + availableReplicas defines the total number of available pods (ready for at least minReadySeconds) targeted by this Alertmanager cluster. format: int32 type: integer conditions: - description: The current state of the Alertmanager object. + description: conditions defines the current state of the Alertmanager object. items: description: |- Condition represents the state of the resources associated with the @@ -9238,11 +9280,11 @@ spec: format: date-time type: string message: - description: Human-readable message indicating details for the condition's last transition. + description: message defines human-readable message indicating details for the condition's last transition. type: string observedGeneration: description: |- - ObservedGeneration represents the .metadata.generation that the + observedGeneration defines the .metadata.generation that the condition was set based upon. For instance, if `.metadata.generation` is currently 12, but the `.status.conditions[].observedGeneration` is 9, the condition is out of date with respect to the current state of the @@ -9250,14 +9292,14 @@ spec: format: int64 type: integer reason: - description: Reason for the condition's last transition. + description: reason for the condition's last transition. type: string status: - description: Status of the condition. + description: status of the condition. minLength: 1 type: string type: - description: Type of the condition being reported. + description: type of the condition being reported. minLength: 1 type: string required: @@ -9271,34 +9313,28 @@ spec: x-kubernetes-list-type: map paused: description: |- - Represents whether any actions on the underlying managed objects are + paused defines whether any actions on the underlying managed objects are being performed. Only delete actions will be performed. type: boolean replicas: description: |- - Total number of non-terminated pods targeted by this Alertmanager + replicas defines the total number of non-terminated pods targeted by this Alertmanager object (their labels match the selector). format: int32 type: integer selector: - description: The selector used to match the pods targeted by this Alertmanager object. + description: selector used to match the pods targeted by this Alertmanager object. type: string unavailableReplicas: - description: Total number of unavailable pods targeted by this Alertmanager object. + description: unavailableReplicas defines the total number of unavailable pods targeted by this Alertmanager object. format: int32 type: integer updatedReplicas: description: |- - Total number of non-terminated pods targeted by this Alertmanager + updatedReplicas defines the total number of non-terminated pods targeted by this Alertmanager object that have the desired version spec. format: int32 type: integer - required: - - availableReplicas - - paused - - replicas - - unavailableReplicas - - updatedReplicas type: object required: - spec diff --git a/modules/observability/prometheus-operator/base/crds/podmonitors.monitoring.coreos.com.yaml b/modules/observability/prometheus-operator/base/crds/podmonitors.monitoring.coreos.com.yaml index d84410c9..8cc45067 100644 --- a/modules/observability/prometheus-operator/base/crds/podmonitors.monitoring.coreos.com.yaml +++ b/modules/observability/prometheus-operator/base/crds/podmonitors.monitoring.coreos.com.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 - operator.prometheus.io/version: 0.85.0 + controller-gen.kubebuilder.io/version: v0.19.0 + operator.prometheus.io/version: 0.87.1 name: podmonitors.monitoring.coreos.com spec: group: monitoring.coreos.com @@ -50,18 +50,18 @@ spec: metadata: type: object spec: - description: Specification of desired Pod selection for target discovery by Prometheus. + description: spec defines the specification of desired Pod selection for target discovery by Prometheus. properties: attachMetadata: description: |- - `attachMetadata` defines additional metadata which is added to the + attachMetadata defines additional metadata which is added to the discovered targets. It requires Prometheus >= v2.35.0. properties: node: description: |- - When set to true, Prometheus attaches node metadata to the discovered + node when set to true, Prometheus attaches node metadata to the discovered targets. The Prometheus service account must have the `list` and `watch` @@ -70,7 +70,7 @@ spec: type: object bodySizeLimit: description: |- - When defined, bodySizeLimit specifies a job level limit on the size + bodySizeLimit when defined specifies a job level limit on the size of uncompressed response body that will be accepted by Prometheus. It requires Prometheus >= v2.28.0. @@ -78,12 +78,12 @@ spec: type: string convertClassicHistogramsToNHCB: description: |- - Whether to convert all scraped classic histograms into a native histogram with custom buckets. + convertClassicHistogramsToNHCB defines whether to convert all scraped classic histograms into a native histogram with custom buckets. It requires Prometheus >= v3.0.0. type: boolean fallbackScrapeProtocol: description: |- - The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. + fallbackScrapeProtocol defines the protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. It requires Prometheus >= v3.0.0. enum: @@ -95,7 +95,7 @@ spec: type: string jobLabel: description: |- - The label to use to retrieve the job name from. + jobLabel defines the label to use to retrieve the job name from. `jobLabel` selects the label from the associated Kubernetes `Pod` object which will be used as the `job` label for all metrics. @@ -108,7 +108,7 @@ spec: type: string keepDroppedTargets: description: |- - Per-scrape limit on the number of targets dropped by relabeling + keepDroppedTargets defines the per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0. @@ -116,44 +116,44 @@ spec: type: integer labelLimit: description: |- - Per-scrape limit on number of labels that will be accepted for a sample. + labelLimit defines the per-scrape limit on number of labels that will be accepted for a sample. It requires Prometheus >= v2.27.0. format: int64 type: integer labelNameLengthLimit: description: |- - Per-scrape limit on length of labels name that will be accepted for a sample. + labelNameLengthLimit defines the per-scrape limit on length of labels name that will be accepted for a sample. It requires Prometheus >= v2.27.0. format: int64 type: integer labelValueLengthLimit: description: |- - Per-scrape limit on length of labels value that will be accepted for a sample. + labelValueLengthLimit defines the per-scrape limit on length of labels value that will be accepted for a sample. It requires Prometheus >= v2.27.0. format: int64 type: integer namespaceSelector: description: |- - `namespaceSelector` defines in which namespace(s) Prometheus should discover the pods. + namespaceSelector defines in which namespace(s) Prometheus should discover the pods. By default, the pods are discovered in the same namespace as the `PodMonitor` object but it is possible to select pods across different/all namespaces. properties: any: description: |- - Boolean describing whether all namespaces are selected in contrast to a + any defines the boolean describing whether all namespaces are selected in contrast to a list restricting them. type: boolean matchNames: - description: List of namespace names to select from. + description: matchNames defines the list of namespace names to select from. items: type: string type: array type: object nativeHistogramBucketLimit: description: |- - If there are more than this many buckets in a native histogram, + nativeHistogramBucketLimit defines ff there are more than this many buckets in a native histogram, buckets will be merged to stay within the limit. It requires Prometheus >= v2.45.0. format: int64 @@ -163,13 +163,13 @@ spec: - type: integer - type: string description: |- - If the growth factor of one bucket to the next is smaller than this, + nativeHistogramMinBucketFactor defines if the growth factor of one bucket to the next is smaller than this, buckets will be merged to increase the factor sufficiently. It requires Prometheus >= v2.50.0. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true podMetricsEndpoints: - description: Defines how to scrape metrics from the selected pods. + description: podMetricsEndpoints defines how to scrape metrics from the selected pods. items: description: |- PodMetricsEndpoint defines an endpoint serving Prometheus metrics to be scraped by @@ -177,13 +177,13 @@ spec: properties: authorization: description: |- - `authorization` configures the Authorization header credentials to use when - scraping the target. + authorization configures the Authorization header credentials used by + the client. - Cannot be set at the same time as `basicAuth`, or `oauth2`. + Cannot be set at the same time as `basicAuth`, `bearerTokenSecret` or `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -206,7 +206,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -215,14 +215,14 @@ spec: type: object basicAuth: description: |- - `basicAuth` configures the Basic Authentication credentials to use when - scraping the target. + basicAuth defines the Basic Authentication credentials used by the + client. - Cannot be set at the same time as `authorization`, or `oauth2`. + Cannot be set at the same time as `authorization`, `bearerTokenSecret` or `oauth2`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -246,7 +246,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -271,9 +271,12 @@ spec: type: object bearerTokenSecret: description: |- - `bearerTokenSecret` specifies a key of a Secret containing the bearer - token for scraping targets. The secret needs to be in the same namespace - as the PodMonitor object and readable by the Prometheus Operator. + bearerTokenSecret defines a key of a Secret containing the bearer token + used by the client for authentication. The secret needs to be in the + same namespace as the custom resource and readable by the Prometheus + Operator. + + Cannot be set at the same time as `authorization`, `basicAuth` or `oauth2`. Deprecated: use `authorization` instead. properties: @@ -297,11 +300,11 @@ spec: type: object x-kubernetes-map-type: atomic enableHttp2: - description: '`enableHttp2` can be used to disable HTTP2 when scraping the target.' + description: enableHttp2 can be used to disable HTTP2. type: boolean filterRunning: description: |- - When true, the pods which are not running (e.g. either in Failed or + filterRunning when true, the pods which are not running (e.g. either in Failed or Succeeded state) are dropped during the target discovery. If unset, the filtering is enabled. @@ -310,29 +313,29 @@ spec: type: boolean followRedirects: description: |- - `followRedirects` defines whether the scrape requests should follow HTTP - 3xx redirects. + followRedirects defines whether the client should follow HTTP 3xx + redirects. type: boolean honorLabels: description: |- - When true, `honorLabels` preserves the metric's labels when they collide + honorLabels when true preserves the metric's labels when they collide with the target's labels. type: boolean honorTimestamps: description: |- - `honorTimestamps` controls whether Prometheus preserves the timestamps + honorTimestamps defines whether Prometheus preserves the timestamps when exposed by the target. type: boolean interval: description: |- - Interval at which Prometheus scrapes the metrics from the target. + interval at which Prometheus scrapes the metrics from the target. If empty, Prometheus uses the global scrape interval. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string metricRelabelings: description: |- - `metricRelabelings` configures the relabeling rules to apply to the + metricRelabelings defines the relabeling rules to apply to the samples before ingestion. items: description: |- @@ -344,7 +347,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -376,39 +379,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -419,7 +422,7 @@ spec: type: array noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -427,19 +430,19 @@ spec: type: string oauth2: description: |- - `oauth2` configures the OAuth2 settings to use when scraping the target. + oauth2 defines the OAuth2 settings used by the client. It requires Prometheus >= 2.27.0. - Cannot be set at the same time as `authorization`, or `basicAuth`. + Cannot be set at the same time as `authorization`, `basicAuth` or `bearerTokenSecret`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -461,7 +464,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -485,7 +488,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -511,12 +514,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -548,7 +551,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -556,29 +559,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -600,7 +603,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -623,10 +626,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -648,7 +651,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -671,10 +674,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -697,7 +700,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -708,7 +711,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -718,11 +721,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -735,22 +738,41 @@ spec: items: type: string type: array - description: '`params` define optional HTTP URL parameters.' + description: params define optional HTTP URL parameters. type: object path: description: |- - HTTP path from which to scrape for metrics. + path defines the HTTP path from which to scrape for metrics. If empty, Prometheus uses the default value (e.g. `/metrics`). type: string port: description: |- - The `Pod` port name which exposes the endpoint. + port defines the `Pod` port name which exposes the endpoint. + + If the pod doesn't expose a port with the same name, it will result + in no targets being discovered. + + If a `Pod` has multiple `Port`s with the same name (which is not + recommended), one target instance per unique port number will be + generated. It takes precedence over the `portNumber` and `targetPort` fields. type: string portNumber: - description: The `Pod` port number which exposes the endpoint. + description: |- + portNumber defines the `Pod` port number which exposes the endpoint. + + The `Pod` must declare the specified `Port` in its spec or the + target will be dropped by Prometheus. + + This cannot be used to enable scraping of an undeclared port. + To scrape targets on a port which isn't exposed, you need to use + relabeling to override the `__address__` label (but beware of + duplicate targets if the `Pod` has other declared ports). + + In practice Prometheus will select targets for which the + matches the target's __meta_kubernetes_pod_container_port_number. format: int32 maximum: 65535 minimum: 1 @@ -781,7 +803,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -789,17 +811,17 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string relabelings: description: |- - `relabelings` configures the relabeling rules to apply the target's + relabelings defines the relabeling rules to apply the target's metadata labels. The Operator automatically adds relabelings for a few standard Kubernetes fields. @@ -817,7 +839,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -849,39 +871,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -891,20 +913,16 @@ spec: type: object type: array scheme: - description: |- - HTTP scheme to use for scraping. - - `http` and `https` are the expected values unless you rewrite the - `__scheme__` label via relabeling. - - If empty, Prometheus uses the default value `http`. + description: scheme defines the HTTP scheme to use for scraping. enum: - http - https + - HTTP + - HTTPS type: string scrapeTimeout: description: |- - Timeout after which Prometheus considers the scrape to be failed. + scrapeTimeout defines the timeout after which Prometheus considers the scrape to be failed. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used. @@ -916,19 +934,19 @@ spec: - type: integer - type: string description: |- - Name or number of the target port of the `Pod` object behind the Service, the + targetPort defines the name or number of the target port of the `Pod` object behind the Service, the port must be specified with container port property. Deprecated: use 'port' or 'portNumber' instead. x-kubernetes-int-or-string: true tlsConfig: - description: TLS configuration to use when scraping the target. + description: tlsConfig defines the TLS configuration used by the client. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -950,7 +968,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -973,10 +991,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -998,7 +1016,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1021,10 +1039,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1047,7 +1065,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -1058,7 +1076,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -1068,12 +1086,12 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object trackTimestampsStaleness: description: |- - `trackTimestampsStaleness` defines whether Prometheus tracks staleness of + trackTimestampsStaleness defines whether Prometheus tracks staleness of the metrics that have an explicit timestamp present in scraped data. Has no effect if `honorTimestamps` is false. @@ -1083,31 +1101,36 @@ spec: type: array podTargetLabels: description: |- - `podTargetLabels` defines the labels which are transferred from the + podTargetLabels defines the labels which are transferred from the associated Kubernetes `Pod` object onto the ingested metrics. items: type: string type: array sampleLimit: description: |- - `sampleLimit` defines a per-scrape limit on the number of scraped samples + sampleLimit defines a per-scrape limit on the number of scraped samples that will be accepted. format: int64 type: integer scrapeClass: - description: The scrape class to apply. + description: scrapeClass defines the scrape class to apply. minLength: 1 type: string scrapeClassicHistograms: description: |- - Whether to scrape a classic histogram that is also exposed as a native histogram. + scrapeClassicHistograms defines whether to scrape a classic histogram that is also exposed as a native histogram. It requires Prometheus >= v2.45.0. Notice: `scrapeClassicHistograms` corresponds to the `always_scrape_classic_histograms` field in the Prometheus configuration. type: boolean + scrapeNativeHistograms: + description: |- + scrapeNativeHistograms defines whether to enable scraping of native histograms. + It requires Prometheus >= v3.8.0. + type: boolean scrapeProtocols: description: |- - `scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the + scrapeProtocols defines the protocols to negotiate during a scrape. It tells clients the protocols supported by Prometheus in order of preference (from most to least preferred). If unset, Prometheus uses its default value. @@ -1132,7 +1155,7 @@ spec: type: array x-kubernetes-list-type: set selector: - description: Label selector to select the Kubernetes `Pod` objects to scrape metrics from. + description: selector defines the label selector to select the Kubernetes `Pod` objects to scrape metrics from. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -1177,7 +1200,7 @@ spec: x-kubernetes-map-type: atomic selectorMechanism: description: |- - Mechanism used to select the endpoints to scrape. + selectorMechanism defines the mechanism used to select the endpoints to scrape. By default, the selection process relies on relabel configurations to filter the discovered targets. Alternatively, you can opt in for role selectors, which may offer better efficiency in large clusters. Which strategy is best for your use case needs to be carefully evaluated. @@ -1189,15 +1212,110 @@ spec: type: string targetLimit: description: |- - `targetLimit` defines a limit on the number of scraped targets that will + targetLimit defines a limit on the number of scraped targets that will be accepted. format: int64 type: integer required: - selector type: object + status: + description: |- + status defines the status subresource. It is under active development and is updated only when the + "StatusForConfigurationResources" feature gate is enabled. + + Most recent observed status of the PodMonitor. Read-only. + More info: + https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + bindings: + description: bindings defines the list of workload resources (Prometheus, PrometheusAgent, ThanosRuler or Alertmanager) which select the configuration resource. + items: + description: WorkloadBinding is a link between a configuration resource and a workload resource. + properties: + conditions: + description: conditions defines the current state of the configuration resource when bound to the referenced Workload object. + items: + description: ConfigResourceCondition describes the status of configuration resources linked to Prometheus, PrometheusAgent, Alertmanager or ThanosRuler. + properties: + lastTransitionTime: + description: lastTransitionTime defines the time of the last update to the current status property. + format: date-time + type: string + message: + description: message defines the human-readable message indicating details for the condition's last transition. + type: string + observedGeneration: + description: |- + observedGeneration defines the .metadata.generation that the + condition was set based upon. For instance, if `.metadata.generation` is + currently 12, but the `.status.conditions[].observedGeneration` is 9, the + condition is out of date with respect to the current state of the object. + format: int64 + type: integer + reason: + description: reason for the condition's last transition. + type: string + status: + description: status of the condition. + minLength: 1 + type: string + type: + description: |- + type of the condition being reported. + Currently, only "Accepted" is supported. + enum: + - Accepted + minLength: 1 + type: string + required: + - lastTransitionTime + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + group: + description: group defines the group of the referenced resource. + enum: + - monitoring.coreos.com + type: string + name: + description: name defines the name of the referenced object. + minLength: 1 + type: string + namespace: + description: namespace defines the namespace of the referenced object. + minLength: 1 + type: string + resource: + description: resource defines the type of resource being referenced (e.g. Prometheus, PrometheusAgent, ThanosRuler or Alertmanager). + enum: + - prometheuses + - prometheusagents + - thanosrulers + - alertmanagers + type: string + required: + - group + - name + - namespace + - resource + type: object + type: array + x-kubernetes-list-map-keys: + - group + - resource + - name + - namespace + x-kubernetes-list-type: map + type: object required: - spec type: object served: true storage: true + subresources: + status: {} diff --git a/modules/observability/prometheus-operator/base/crds/probes.monitoring.coreos.com.yaml b/modules/observability/prometheus-operator/base/crds/probes.monitoring.coreos.com.yaml index a7d8275f..11e58316 100644 --- a/modules/observability/prometheus-operator/base/crds/probes.monitoring.coreos.com.yaml +++ b/modules/observability/prometheus-operator/base/crds/probes.monitoring.coreos.com.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 - operator.prometheus.io/version: 0.85.0 + controller-gen.kubebuilder.io/version: v0.19.0 + operator.prometheus.io/version: 0.87.1 name: probes.monitoring.coreos.com spec: group: monitoring.coreos.com @@ -49,13 +49,17 @@ spec: metadata: type: object spec: - description: Specification of desired Ingress selection for target discovery by Prometheus. + description: spec defines the specification of desired Ingress selection for target discovery by Prometheus. properties: authorization: - description: Authorization section for this endpoint + description: |- + authorization configures the Authorization header credentials used by + the client. + + Cannot be set at the same time as `basicAuth`, `bearerTokenSecret` or `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -78,7 +82,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -87,12 +91,14 @@ spec: type: object basicAuth: description: |- - BasicAuth allow an endpoint to authenticate over basic authentication. - More info: https://prometheus.io/docs/operating/configuration/#endpoint + basicAuth defines the Basic Authentication credentials used by the + client. + + Cannot be set at the same time as `authorization`, `bearerTokenSecret` or `oauth2`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -116,7 +122,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -141,9 +147,14 @@ spec: type: object bearerTokenSecret: description: |- - Secret to mount to read bearer token for scraping targets. The secret - needs to be in the same namespace as the probe and accessible by - the Prometheus Operator. + bearerTokenSecret defines a key of a Secret containing the bearer token + used by the client for authentication. The secret needs to be in the + same namespace as the custom resource and readable by the Prometheus + Operator. + + Cannot be set at the same time as `authorization`, `basicAuth` or `oauth2`. + + Deprecated: use `authorization` instead. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -166,12 +177,15 @@ spec: x-kubernetes-map-type: atomic convertClassicHistogramsToNHCB: description: |- - Whether to convert all scraped classic histograms into a native histogram with custom buckets. + convertClassicHistogramsToNHCB defines whether to convert all scraped classic histograms into a native histogram with custom buckets. It requires Prometheus >= v3.0.0. type: boolean + enableHttp2: + description: enableHttp2 can be used to disable HTTP2. + type: boolean fallbackScrapeProtocol: description: |- - The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. + fallbackScrapeProtocol defines the protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. It requires Prometheus >= v3.0.0. enum: @@ -181,18 +195,23 @@ spec: - PrometheusText0.0.4 - PrometheusText1.0.0 type: string + followRedirects: + description: |- + followRedirects defines whether the client should follow HTTP 3xx + redirects. + type: boolean interval: description: |- - Interval at which targets are probed using the configured prober. + interval at which targets are probed using the configured prober. If not specified Prometheus' global scrape interval is used. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string jobName: - description: The job name assigned to scraped metrics by default. + description: jobName assigned to scraped metrics by default. type: string keepDroppedTargets: description: |- - Per-scrape limit on the number of targets dropped by relabeling + keepDroppedTargets defines the per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0. @@ -200,24 +219,24 @@ spec: type: integer labelLimit: description: |- - Per-scrape limit on number of labels that will be accepted for a sample. + labelLimit defines the per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer. format: int64 type: integer labelNameLengthLimit: description: |- - Per-scrape limit on length of labels name that will be accepted for a sample. + labelNameLengthLimit defines the per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer. format: int64 type: integer labelValueLengthLimit: description: |- - Per-scrape limit on length of labels value that will be accepted for a sample. + labelValueLengthLimit defines the per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer. format: int64 type: integer metricRelabelings: - description: MetricRelabelConfigs to apply to samples before ingestion. + description: metricRelabelings defines the RelabelConfig to apply to samples before ingestion. items: description: |- RelabelConfig allows dynamic rewriting of the label set for targets, alerts, @@ -228,7 +247,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -260,39 +279,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -303,13 +322,13 @@ spec: type: array module: description: |- - The module to use for probing specifying how to probe the target. + module to use for probing specifying how to probe the target. Example module configuring in the blackbox exporter: https://github.com/prometheus/blackbox_exporter/blob/master/example.yml type: string nativeHistogramBucketLimit: description: |- - If there are more than this many buckets in a native histogram, + nativeHistogramBucketLimit defines ff there are more than this many buckets in a native histogram, buckets will be merged to stay within the limit. It requires Prometheus >= v2.45.0. format: int64 @@ -319,21 +338,26 @@ spec: - type: integer - type: string description: |- - If the growth factor of one bucket to the next is smaller than this, + nativeHistogramMinBucketFactor defines if the growth factor of one bucket to the next is smaller than this, buckets will be merged to increase the factor sufficiently. It requires Prometheus >= v2.50.0. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true oauth2: - description: OAuth2 for the URL. Only valid in Prometheus versions 2.27.0 and newer. + description: |- + oauth2 defines the OAuth2 settings used by the client. + + It requires Prometheus >= 2.27.0. + + Cannot be set at the same time as `authorization`, `basicAuth` or `bearerTokenSecret`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -355,7 +379,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -379,7 +403,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -405,12 +429,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -442,7 +466,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -450,29 +474,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -494,7 +518,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -517,10 +541,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -542,7 +566,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -565,10 +589,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -591,7 +615,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -602,7 +626,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -612,11 +636,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -626,18 +650,18 @@ spec: type: object params: description: |- - The list of HTTP query parameters for the scrape. + params defines the list of HTTP query parameters for the scrape. Please note that the `.spec.module` field takes precedence over the `module` parameter from this list when both are defined. The module name must be added using Module under ProbeSpec. items: description: ProbeParam defines specification of extra parameters for a Probe. properties: name: - description: The parameter name + description: name defines the parameter name minLength: 1 type: string values: - description: The parameter values + description: values defines the parameter values items: minLength: 1 type: string @@ -653,12 +677,12 @@ spec: x-kubernetes-list-type: map prober: description: |- - Specification for the prober to use for probing targets. + prober defines the specification for the prober to use for probing targets. The prober.URL parameter is required. Targets cannot be probed if left empty. properties: noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -667,7 +691,7 @@ spec: path: default: /probe description: |- - Path to collect metrics from. + path to collect metrics from. Defaults to `/probe`. type: string proxyConnectHeader: @@ -696,7 +720,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -704,47 +728,57 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scheme: - description: |- - HTTP scheme to use for scraping. - `http` and `https` are the expected values unless you rewrite the `__scheme__` label via relabeling. - If empty, Prometheus uses the default value `http`. + description: scheme defines the HTTP scheme to use when scraping the prober. enum: - http - https + - HTTP + - HTTPS type: string url: - description: Mandatory URL of the prober. + description: |- + url defines the address of the prober. + + Unlike what the name indicates, the value should be in the form of + `address:port` without any scheme which should be specified in the + `scheme` field. + minLength: 1 type: string required: - url type: object sampleLimit: - description: SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. + description: sampleLimit defines per-scrape limit on number of scraped samples that will be accepted. format: int64 type: integer scrapeClass: - description: The scrape class to apply. + description: scrapeClass defines the scrape class to apply. minLength: 1 type: string scrapeClassicHistograms: description: |- - Whether to scrape a classic histogram that is also exposed as a native histogram. + scrapeClassicHistograms defines whether to scrape a classic histogram that is also exposed as a native histogram. It requires Prometheus >= v2.45.0. Notice: `scrapeClassicHistograms` corresponds to the `always_scrape_classic_histograms` field in the Prometheus configuration. type: boolean + scrapeNativeHistograms: + description: |- + scrapeNativeHistograms defines whether to enable scraping of native histograms. + It requires Prometheus >= v3.8.0. + type: boolean scrapeProtocols: description: |- - `scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the + scrapeProtocols defines the protocols to negotiate during a scrape. It tells clients the protocols supported by Prometheus in order of preference (from most to least preferred). If unset, Prometheus uses its default value. @@ -770,17 +804,17 @@ spec: x-kubernetes-list-type: set scrapeTimeout: description: |- - Timeout for scraping metrics from the Prometheus exporter. + scrapeTimeout defines the timeout for scraping metrics from the Prometheus exporter. If not specified, the Prometheus global scrape timeout is used. The value cannot be greater than the scrape interval otherwise the operator will reject the resource. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string targetLimit: - description: TargetLimit defines a limit on the number of scraped targets that will be accepted. + description: targetLimit defines a limit on the number of scraped targets that will be accepted. format: int64 type: integer targets: - description: Targets defines a set of static or dynamically discovered targets to probe. + description: targets defines a set of static or dynamically discovered targets to probe. properties: ingress: description: |- @@ -789,22 +823,22 @@ spec: If `staticConfig` is also defined, `staticConfig` takes precedence. properties: namespaceSelector: - description: From which namespaces to select Ingress objects. + description: namespaceSelector defines from which namespaces to select Ingress objects. properties: any: description: |- - Boolean describing whether all namespaces are selected in contrast to a + any defines the boolean describing whether all namespaces are selected in contrast to a list restricting them. type: boolean matchNames: - description: List of namespace names to select from. + description: matchNames defines the list of namespace names to select from. items: type: string type: array type: object relabelingConfigs: description: |- - RelabelConfigs to apply to the label set of the target before it gets + relabelingConfigs to apply to the label set of the target before it gets scraped. The original ingress address is available via the `__tmp_prometheus_ingress_address` label. It can be used to customize the @@ -821,7 +855,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -853,39 +887,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -895,7 +929,7 @@ spec: type: object type: array selector: - description: Selector to select the Ingress objects. + description: selector to select the Ingress objects. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -949,11 +983,11 @@ spec: labels: additionalProperties: type: string - description: Labels assigned to all metrics scraped from the targets. + description: labels defines all labels assigned to all metrics scraped from the targets. type: object relabelingConfigs: description: |- - RelabelConfigs to apply to the label set of the targets before it gets + relabelingConfigs defines relabelings to be apply to the label set of the targets before it gets scraped. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config items: @@ -966,7 +1000,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -998,39 +1032,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -1040,20 +1074,20 @@ spec: type: object type: array static: - description: The list of hosts to probe. + description: static defines the list of hosts to probe. items: type: string type: array type: object type: object tlsConfig: - description: TLS configuration to use when scraping the endpoint. + description: tlsConfig defines the TLS configuration used by the client. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1075,7 +1109,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1098,10 +1132,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1123,7 +1157,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1146,10 +1180,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1172,7 +1206,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -1183,7 +1217,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -1193,12 +1227,107 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object + status: + description: |- + status defines the status subresource. It is under active development and is updated only when the + "StatusForConfigurationResources" feature gate is enabled. + + Most recent observed status of the Probe. Read-only. + More info: + https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + bindings: + description: bindings defines the list of workload resources (Prometheus, PrometheusAgent, ThanosRuler or Alertmanager) which select the configuration resource. + items: + description: WorkloadBinding is a link between a configuration resource and a workload resource. + properties: + conditions: + description: conditions defines the current state of the configuration resource when bound to the referenced Workload object. + items: + description: ConfigResourceCondition describes the status of configuration resources linked to Prometheus, PrometheusAgent, Alertmanager or ThanosRuler. + properties: + lastTransitionTime: + description: lastTransitionTime defines the time of the last update to the current status property. + format: date-time + type: string + message: + description: message defines the human-readable message indicating details for the condition's last transition. + type: string + observedGeneration: + description: |- + observedGeneration defines the .metadata.generation that the + condition was set based upon. For instance, if `.metadata.generation` is + currently 12, but the `.status.conditions[].observedGeneration` is 9, the + condition is out of date with respect to the current state of the object. + format: int64 + type: integer + reason: + description: reason for the condition's last transition. + type: string + status: + description: status of the condition. + minLength: 1 + type: string + type: + description: |- + type of the condition being reported. + Currently, only "Accepted" is supported. + enum: + - Accepted + minLength: 1 + type: string + required: + - lastTransitionTime + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + group: + description: group defines the group of the referenced resource. + enum: + - monitoring.coreos.com + type: string + name: + description: name defines the name of the referenced object. + minLength: 1 + type: string + namespace: + description: namespace defines the namespace of the referenced object. + minLength: 1 + type: string + resource: + description: resource defines the type of resource being referenced (e.g. Prometheus, PrometheusAgent, ThanosRuler or Alertmanager). + enum: + - prometheuses + - prometheusagents + - thanosrulers + - alertmanagers + type: string + required: + - group + - name + - namespace + - resource + type: object + type: array + x-kubernetes-list-map-keys: + - group + - resource + - name + - namespace + x-kubernetes-list-type: map + type: object required: - spec type: object served: true storage: true + subresources: + status: {} diff --git a/modules/observability/prometheus-operator/base/crds/prometheusagents.monitoring.coreos.com.yaml b/modules/observability/prometheus-operator/base/crds/prometheusagents.monitoring.coreos.com.yaml index 743a2cc7..4ccc7fa3 100644 --- a/modules/observability/prometheus-operator/base/crds/prometheusagents.monitoring.coreos.com.yaml +++ b/modules/observability/prometheus-operator/base/crds/prometheusagents.monitoring.coreos.com.yaml @@ -3,24 +3,24 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 - operator.prometheus.io/version: 0.85.0 - name: prometheusagents.monitoring.coreos.com + controller-gen.kubebuilder.io/version: v0.19.0 + operator.prometheus.io/version: 0.87.1 + name: prometheuses.monitoring.coreos.com spec: group: monitoring.coreos.com names: categories: - prometheus-operator - kind: PrometheusAgent - listKind: PrometheusAgentList - plural: prometheusagents + kind: Prometheus + listKind: PrometheusList + plural: prometheuses shortNames: - - promagent - singular: prometheusagent + - prom + singular: prometheus scope: Namespaced versions: - additionalPrinterColumns: - - description: The version of Prometheus agent + - description: The version of Prometheus jsonPath: .spec.version name: Version type: string @@ -46,13 +46,17 @@ spec: name: Paused priority: 1 type: boolean - name: v1alpha1 + name: v1 schema: openAPIV3Schema: description: |- - The `PrometheusAgent` custom resource definition (CRD) defines a desired [Prometheus Agent](https://prometheus.io/blog/2021/11/16/agent/) setup to run in a Kubernetes cluster. + The `Prometheus` custom resource definition (CRD) defines a desired [Prometheus](https://prometheus.io/docs/prometheus) setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, persistent storage, and Alertmanagers where firing alerts should be sent and many more. - The CRD is very similar to the `Prometheus` CRD except for features which aren't available in agent mode like rule evaluation, persistent storage and Thanos sidecar. + For each `Prometheus` resource, the Operator deploys one or several `StatefulSet` objects in the same namespace. The number of StatefulSets is equal to the number of shards which is 1 by default. + + The resource defines via label and namespace selectors which `ServiceMonitor`, `PodMonitor`, `Probe` and `PrometheusRule` objects should be associated to the deployed Prometheus instances. + + The Operator continuously reconciles the scrape and rules configuration and a sidecar container running in the Prometheus pods triggers a reload of the configuration when needed. properties: apiVersion: description: |- @@ -73,12 +77,84 @@ spec: type: object spec: description: |- - Specification of the desired behavior of the Prometheus agent. More info: + spec defines the specification of the desired behavior of the Prometheus cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: + additionalAlertManagerConfigs: + description: |- + additionalAlertManagerConfigs defines a key of a Secret containing + additional Prometheus Alertmanager configurations. The Alertmanager + configurations are appended to the configuration generated by the + Prometheus Operator. They must be formatted according to the official + Prometheus documentation: + + https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config + + The user is responsible for making sure that the configurations are valid + + Note that using this feature may expose the possibility to break + upgrades of Prometheus. It is advised to review Prometheus release notes + to ensure that no incompatible AlertManager configs are going to break + Prometheus after the upgrade. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + additionalAlertRelabelConfigs: + description: |- + additionalAlertRelabelConfigs defines a key of a Secret containing + additional Prometheus alert relabel configurations. The alert relabel + configurations are appended to the configuration generated by the + Prometheus Operator. They must be formatted according to the official + Prometheus documentation: + + https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs + + The user is responsible for making sure that the configurations are valid + + Note that using this feature may expose the possibility to break + upgrades of Prometheus. It is advised to review Prometheus release notes + to ensure that no incompatible alert relabel configs are going to break + Prometheus after the upgrade. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic additionalArgs: description: |- - AdditionalArgs allows setting additional arguments for the 'prometheus' container. + additionalArgs allows setting additional arguments for the 'prometheus' container. It is intended for e.g. activating hidden flags which are not supported by the dedicated configuration options yet. The arguments are passed as-is to the @@ -92,11 +168,11 @@ spec: description: Argument as part of the AdditionalArgs list. properties: name: - description: Name of the argument, e.g. "scrape.discovery-reload-interval". + description: name of the argument, e.g. "scrape.discovery-reload-interval". minLength: 1 type: string value: - description: Argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) + description: value defines the argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) type: string required: - name @@ -104,7 +180,7 @@ spec: type: array additionalScrapeConfigs: description: |- - AdditionalScrapeConfigs allows specifying a key of a Secret containing + additionalScrapeConfigs allows specifying a key of a Secret containing additional Prometheus scrape configurations. Scrape configurations specified are appended to the configurations generated by the Prometheus Operator. Job configurations specified must have the form as specified @@ -136,7 +212,7 @@ spec: type: object x-kubernetes-map-type: atomic affinity: - description: Defines the Pods' affinity scheduling rules if specified. + description: affinity defines the Pods' affinity scheduling rules if specified. properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. @@ -1008,599 +1084,868 @@ spec: x-kubernetes-list-type: atomic type: object type: object - apiserverConfig: - description: |- - APIServerConfig allows specifying a host and auth methods to access the - Kuberntees API server. - If null, Prometheus is assumed to run inside of the cluster: it will - discover the API servers automatically and use the Pod's CA certificate - and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. + alerting: + description: alerting defines the settings related to Alertmanager. properties: - authorization: - description: |- - Authorization section for the API server. - - Cannot be set at the same time as `basicAuth`, `bearerToken`, or - `bearerTokenFile`. - properties: - credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" + alertmanagers: + description: alertmanagers endpoints where Prometheus should send alerts to. + items: + description: |- + AlertmanagerEndpoints defines a selection of a single Endpoints object + containing Alertmanager IPs to fire alerts against. + properties: + alertRelabelings: + description: |- + alertRelabelings defines the relabeling configs applied before sending alerts to a specific Alertmanager. + It requires Prometheus >= v2.51.0. + items: 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - credentialsFile: - description: File to read a secret from, mutually exclusive with `credentials`. - type: string - type: - description: |- - Defines the authentication type. The value is case-insensitive. + RelabelConfig allows dynamic rewriting of the label set for targets, alerts, + scraped samples and remote write samples. - "Basic" is not a supported value. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + properties: + action: + default: replace + description: |- + action to perform based on the regex matching. + + `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. + `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. + + Default: "Replace" + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + description: |- + modulus to take of the hash of the source label values. - Default: "Bearer" - type: string - type: object - basicAuth: - description: |- - BasicAuth configuration for the API server. + Only applicable when the action is `HashMod`. + format: int64 + type: integer + regex: + description: regex defines the regular expression against which the extracted value is matched. + type: string + replacement: + description: |- + replacement value against which a Replace action is performed if the + regular expression matches. - Cannot be set at the same time as `authorization`, `bearerToken`, or - `bearerTokenFile`. - properties: - password: - description: |- - `password` specifies a key of a Secret containing the password for - authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: |- - `username` specifies a key of a Secret containing the username for - authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerToken: - description: |- - *Warning: this field shouldn't be used because the token value appears - in clear-text. Prefer using `authorization`.* + Regex capture groups are available. + type: string + separator: + description: separator defines the string between concatenated SourceLabels. + type: string + sourceLabels: + description: |- + sourceLabels defines the source labels select values from existing labels. Their content is + concatenated using the configured Separator and matched against the + configured regular expression. + items: + description: |- + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. + type: string + type: array + targetLabel: + description: |- + targetLabel defines the label to which the resulting string is written in a replacement. - Deprecated: this will be removed in a future release. - type: string - bearerTokenFile: - description: |- - File to read bearer token for accessing apiserver. + It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, + `KeepEqual` and `DropEqual` actions. - Cannot be set at the same time as `basicAuth`, `authorization`, or `bearerToken`. + Regex capture groups are available. + type: string + type: object + type: array + apiVersion: + description: |- + apiVersion defines the version of the Alertmanager API that Prometheus uses to send alerts. + It can be "V1" or "V2". + The field has no effect for Prometheus >= v3.0.0 because only the v2 API is supported. + enum: + - v1 + - V1 + - v2 + - V2 + type: string + authorization: + description: |- + authorization section for Alertmanager. - Deprecated: this will be removed in a future release. Prefer using `authorization`. - type: string - host: - description: |- - Kubernetes API address consisting of a hostname or IP address followed - by an optional port number. - type: string - noProxy: - description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names - that should be excluded from proxying. IP and domain names can - contain port numbers. + Cannot be set at the same time as `basicAuth`, `bearerTokenFile` or `sigv4`. + properties: + credentials: + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: + description: |- + type defines the authentication type. The value is case-insensitive. - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: string - proxyConnectHeader: - additionalProperties: - items: - 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: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: array - description: |- - ProxyConnectHeader optionally specifies headers to send to - proxies during CONNECT requests. + "Basic" is not a supported value. - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: object - x-kubernetes-map-type: atomic - proxyFromEnvironment: - description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + Default: "Bearer" + type: string + type: object + basicAuth: + description: |- + basicAuth configuration for Alertmanager. - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: boolean - proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' - pattern: ^(http|https|socks5)://.+$ - type: string - tlsConfig: - description: TLS Config to use for the API server. - properties: - ca: - description: Certificate authority used when verifying server certificates. - properties: - configMap: - description: ConfigMap containing data to use for the targets. + Cannot be set at the same time as `bearerTokenFile`, `authorization` or `sigv4`. + properties: + password: + description: |- + password defines a key of a Secret containing the password for + authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + description: |- + username defines a key of a Secret containing the username for + authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerTokenFile: + description: |- + bearerTokenFile defines the file to read bearer token for Alertmanager. + + Cannot be set at the same time as `basicAuth`, `authorization`, or `sigv4`. + + Deprecated: this will be removed in a future release. Prefer using `authorization`. + type: string + enableHttp2: + description: enableHttp2 defines whether to enable HTTP2. + type: boolean + name: + description: name of the Endpoints object in the namespace. + minLength: 1 + type: string + namespace: + description: |- + namespace of the Endpoints object. + + If not set, the object will be discovered in the namespace of the + Prometheus object. + minLength: 1 + type: string + noProxy: + description: |- + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names + that should be excluded from proxying. IP and domain names can + contain port numbers. + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: string + pathPrefix: + description: pathPrefix defines the prefix for the HTTP path alerts are pushed to. + minLength: 1 + type: string + port: + anyOf: + - type: integer + - type: string + description: port on which the Alertmanager API is exposed. + x-kubernetes-int-or-string: true + proxyConnectHeader: + additionalProperties: + items: + 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: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + description: |- + proxyConnectHeader optionally specifies headers to send to + proxies during CONNECT requests. + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: object + x-kubernetes-map-type: atomic + proxyFromEnvironment: + description: |- + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: boolean + proxyUrl: + description: proxyUrl defines the HTTP proxy server to use. + pattern: ^(http|https|socks5)://.+$ + type: string + relabelings: + description: relabelings defines the relabel configuration applied to the discovered Alertmanagers. + items: + description: |- + RelabelConfig allows dynamic rewriting of the label set for targets, alerts, + scraped samples and remote write samples. + + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config properties: - key: - description: The key to select. - type: string - name: - default: "" + action: + default: replace 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. + action to perform based on the regex matching. + + `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. + `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. + + Default: "Replace" + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual type: string - name: - default: "" + modulus: 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. - type: string - cert: - description: Client certificate to present when doing client-authentication. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. + modulus to take of the hash of the source label values. + + Only applicable when the action is `HashMod`. + format: int64 + type: integer + regex: + description: regex defines the regular expression against which the extracted value is matched. type: string - name: - default: "" + replacement: 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 + replacement value against which a Replace action is performed if the + regular expression matches. + + Regex capture groups are available. type: string - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. + separator: + description: separator defines the string between concatenated SourceLabels. type: string - name: - default: "" + sourceLabels: 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 + sourceLabels defines the source labels select values from existing labels. Their content is + concatenated using the configured Separator and matched against the + configured regular expression. + items: + description: |- + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. + type: string + type: array + targetLabel: + description: |- + targetLabel defines the label to which the resulting string is written in a replacement. + + It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, + `KeepEqual` and `DropEqual` actions. + + Regex capture groups are available. type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key type: object - x-kubernetes-map-type: atomic - type: object - certFile: - description: Path to the client cert file in the Prometheus container for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: Path to the client key file in the Prometheus container for the targets. - type: string - keySecret: - description: Secret containing the client key file for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - maxVersion: - description: |- - Maximum acceptable TLS version. + type: array + scheme: + description: scheme defines the HTTP scheme to use when sending alerts. + enum: + - http + - https + - HTTP + - HTTPS + type: string + sigv4: + description: |- + sigv4 defines AWS's Signature Verification 4 for the URL. - It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 - type: string - minVersion: - description: |- - Minimum acceptable TLS version. + It requires Prometheus >= v2.48.0. - It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - required: - - host - type: object - arbitraryFSAccessThroughSMs: - description: |- - When true, ServiceMonitor, PodMonitor and Probe object are forbidden to - reference arbitrary files on the file system of the 'prometheus' - container. - When a ServiceMonitor's endpoint specifies a `bearerTokenFile` value - (e.g. '/var/run/secrets/kubernetes.io/serviceaccount/token'), a - malicious target can get access to the Prometheus service account's - token in the Prometheus' scrape request. Setting - `spec.arbitraryFSAccessThroughSM` to 'true' would prevent the attack. - Users should instead provide the credentials using the - `spec.bearerTokenSecret` field. - properties: - deny: - type: boolean + Cannot be set at the same time as `basicAuth`, `bearerTokenFile` or `authorization`. + properties: + accessKey: + description: |- + accessKey defines the AWS API key. If not specified, the environment variable + `AWS_ACCESS_KEY_ID` is used. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + profile: + description: profile defines the named AWS profile used to authenticate. + type: string + region: + description: region defines the AWS region. If blank, the region from the default credentials chain used. + type: string + roleArn: + description: roleArn defines the named AWS profile used to authenticate. + type: string + secretKey: + description: |- + secretKey defines the AWS API secret. If not specified, the environment + variable `AWS_SECRET_ACCESS_KEY` is used. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + useFIPSSTSEndpoint: + description: |- + useFIPSSTSEndpoint defines the FIPS mode for the AWS STS endpoint. + It requires Prometheus >= v2.54.0. + type: boolean + type: object + timeout: + description: timeout defines a per-target Alertmanager timeout when pushing alerts. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string + tlsConfig: + description: tlsConfig to use for Alertmanager. + properties: + ca: + description: ca defines the Certificate authority used when verifying server certificates. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. + type: string + cert: + description: cert defines the Client certificate to present when doing client-authentication. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + description: certFile defines the path to the client cert file in the Prometheus container for the targets. + type: string + insecureSkipVerify: + description: insecureSkipVerify defines how to disable target certificate validation. + type: boolean + keyFile: + description: keyFile defines the path to the client key file in the Prometheus container for the targets. + type: string + keySecret: + description: keySecret defines the Secret containing the client key file for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + maxVersion: + description: |- + maxVersion defines the maximum acceptable TLS version. + + It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + minVersion: + description: |- + minVersion defines the minimum acceptable TLS version. + + It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + serverName: + description: serverName is used to verify the hostname for the targets. + type: string + type: object + required: + - name + - port + type: object + type: array + required: + - alertmanagers type: object - automountServiceAccountToken: + allowOverlappingBlocks: description: |- - AutomountServiceAccountToken indicates whether a service account token should be automatically mounted in the pod. - If the field isn't set, the operator mounts the service account token by default. + allowOverlappingBlocks enables vertical compaction and vertical query + merge in Prometheus. - **Warning:** be aware that by default, Prometheus requires the service account token for Kubernetes service discovery. - It is possible to use strategic merge patch to project the service account token into the 'prometheus' container. + Deprecated: this flag has no effect for Prometheus >= 2.39.0 where overlapping blocks are enabled by default. type: boolean - bodySizeLimit: - description: |- - BodySizeLimit defines per-scrape on response body size. - Only valid in Prometheus versions 2.45.0 and newer. - - Note that the global limit only applies to scrape objects that don't specify an explicit limit value. - If you want to enforce a maximum limit for all scrape objects, refer to enforcedBodySizeLimit. - pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$ - type: string - configMaps: - description: |- - ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus - object, which shall be mounted into the Prometheus Pods. - Each ConfigMap is added to the StatefulSet definition as a volume named `configmap-`. - The ConfigMaps are mounted into /etc/prometheus/configmaps/ in the 'prometheus' container. - items: - type: string - type: array - containers: + apiserverConfig: description: |- - Containers allows injecting additional containers or modifying operator - generated containers. This can be used to allow adding an authentication - proxy to the Pods or to change the behavior of an operator generated - container. Containers described here modify an operator generated - container if they share the same name and modifications are done via a - strategic merge patch. - - The names of containers managed by the operator are: - * `prometheus` - * `config-reloader` - * `thanos-sidecar` + apiserverConfig allows specifying a host and auth methods to access the + Kuberntees API server. + If null, Prometheus is assumed to run inside of the cluster: it will + discover the API servers automatically and use the Pod's CA certificate + and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. + properties: + authorization: + description: |- + authorization section for the API server. - Overriding containers is entirely outside the scope of what the - maintainers will support and by doing so, you accept that this behaviour - may break at any time without notice. - 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 be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: + Cannot be set at the same time as `basicAuth`, `bearerToken`, or + `bearerTokenFile`. + properties: + credentials: + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + description: credentialsFile defines the file to read a secret from, mutually exclusive with `credentials`. type: string - type: array - 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)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: + type: + description: |- + type defines the authentication type. The value is case-insensitive. + + "Basic" is not a supported value. + + Default: "Bearer" type: string - type: array - 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. + type: object + basicAuth: + description: |- + basicAuth configuration for the API server. + + Cannot be set at the same time as `authorization`, `bearerToken`, or + `bearerTokenFile`. + properties: + password: + description: |- + password defines a key of a Secret containing the password for + authentication. properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string name: + default: "" description: |- - Name of the environment variable. - May consist of any printable ASCII characters except '='. + 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 - value: + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + description: |- + username defines a key of a Secret containing the username for + authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" 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, regardless of whether the variable - exists or not. - Defaults to "". + 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 - valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerToken: + description: |- + bearerToken is deprecated: this will be removed in a future release. + *Warning: this field shouldn't be used because the token value appears + in clear-text. Prefer using `authorization`.* + type: string + bearerTokenFile: + description: |- + bearerTokenFile defines the file to read bearer token for accessing apiserver. + + Cannot be set at the same time as `basicAuth`, `authorization`, or `bearerToken`. + + Deprecated: this will be removed in a future release. Prefer using `authorization`. + type: string + host: + description: |- + host defines the Kubernetes API address consisting of a hostname or IP address followed + by an optional port number. + type: string + noProxy: + description: |- + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names + that should be excluded from proxying. IP and domain names can + contain port numbers. + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: string + proxyConnectHeader: + additionalProperties: + items: + 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: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + description: |- + proxyConnectHeader optionally specifies headers to send to + proxies during CONNECT requests. + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: object + x-kubernetes-map-type: atomic + proxyFromEnvironment: + description: |- + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: boolean + proxyUrl: + description: proxyUrl defines the HTTP proxy server to use. + pattern: ^(http|https|socks5)://.+$ + type: string + tlsConfig: + description: tlsConfig to use for the API server. + properties: + ca: + description: ca defines the Certificate authority used when verifying server certificates. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: + key: + description: The key to select. + type: string + name: + default: "" description: |- - Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, - spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - properties: - apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - fileKeyRef: + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" description: |- - FileKeyRef selects a key of the env file. - Requires the EnvFiles feature gate to be enabled. - properties: - key: - description: |- - The key within the env file. An invalid key will prevent the pod from starting. - The keys defined within a source may consist of any printable ASCII characters except '='. - During Alpha stage of the EnvFiles feature gate, the key size is limited to 128 characters. - type: string - optional: - default: false - description: |- - Specify whether the file or its key must be defined. If the file or key - does not exist, then the env var is not published. - If optional is set to true and the specified key does not exist, - the environment variable will not be set in the Pod's containers. - - If optional is set to false and the specified key does not exist, - an error will be returned during Pod creation. - type: boolean - path: - description: |- - The path within the volume from which to select the file. - Must be relative and may not contain the '..' path or start with '..'. - type: string - volumeName: - description: The name of the volume mount containing the env file. - type: string - required: - - key - - path - - volumeName - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: |- - Selects a resource of the container: only resources limits and requests - (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. - properties: - containerName: - description: 'Container name: required for volumes, optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the pod's namespace - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key type: object - required: - - name + x-kubernetes-map-type: atomic type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - envFrom: - description: |- - List of sources to populate environment variables in the container. - The keys defined within a source may consist of any printable ASCII characters except '='. - 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 or Secrets + caFile: + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. + type: string + cert: + description: cert defines the Client certificate to present when doing client-authentication. properties: - configMapRef: - description: The ConfigMap to select from + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. properties: + key: + description: The key to select. + type: string name: default: "" description: |- @@ -1611,18 +1956,18 @@ spec: More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: - description: Specify whether the ConfigMap must be defined + description: Specify whether the ConfigMap or its key must be defined type: boolean + required: + - key type: object x-kubernetes-map-type: atomic - prefix: - description: |- - Optional text to prepend to the name of each environment variable. - May consist of any printable ASCII characters except '='. - type: string - secretRef: - description: The Secret to select from + secret: + description: secret defines the Secret containing data to use for the targets. properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string name: default: "" description: |- @@ -1633,14 +1978,377 @@ spec: More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: - description: Specify whether the Secret must be defined + description: Specify whether the Secret or its key must be defined type: boolean + required: + - key type: object x-kubernetes-map-type: atomic type: object + certFile: + description: certFile defines the path to the client cert file in the Prometheus container for the targets. + type: string + insecureSkipVerify: + description: insecureSkipVerify defines how to disable target certificate validation. + type: boolean + keyFile: + description: keyFile defines the path to the client key file in the Prometheus container for the targets. + type: string + keySecret: + description: keySecret defines the Secret containing the client key file for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + maxVersion: + description: |- + maxVersion defines the maximum acceptable TLS version. + + It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + minVersion: + description: |- + minVersion defines the minimum acceptable TLS version. + + It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + serverName: + description: serverName is used to verify the hostname for the targets. + type: string + type: object + required: + - host + type: object + arbitraryFSAccessThroughSMs: + description: |- + arbitraryFSAccessThroughSMs when true, ServiceMonitor, PodMonitor and Probe object are forbidden to + reference arbitrary files on the file system of the 'prometheus' + container. + When a ServiceMonitor's endpoint specifies a `bearerTokenFile` value + (e.g. '/var/run/secrets/kubernetes.io/serviceaccount/token'), a + malicious target can get access to the Prometheus service account's + token in the Prometheus' scrape request. Setting + `spec.arbitraryFSAccessThroughSM` to 'true' would prevent the attack. + Users should instead provide the credentials using the + `spec.bearerTokenSecret` field. + properties: + deny: + description: |- + deny prevents service monitors from accessing arbitrary files on the file system. + When true, service monitors cannot use file-based configurations like BearerTokenFile + that could potentially access sensitive files. When false (default), such access is allowed. + Setting this to true enhances security by preventing potential credential theft attacks. + type: boolean + type: object + automountServiceAccountToken: + description: |- + automountServiceAccountToken defines whether a service account token should be automatically mounted in the pod. + If the field isn't set, the operator mounts the service account token by default. + + **Warning:** be aware that by default, Prometheus requires the service account token for Kubernetes service discovery. + It is possible to use strategic merge patch to project the service account token into the 'prometheus' container. + type: boolean + baseImage: + description: 'baseImage is deprecated: use ''spec.image'' instead.' + type: string + bodySizeLimit: + description: |- + bodySizeLimit defines per-scrape on response body size. + Only valid in Prometheus versions 2.45.0 and newer. + + Note that the global limit only applies to scrape objects that don't specify an explicit limit value. + If you want to enforce a maximum limit for all scrape objects, refer to enforcedBodySizeLimit. + pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$ + type: string + configMaps: + description: |- + configMaps defines a list of ConfigMaps in the same namespace as the Prometheus + object, which shall be mounted into the Prometheus Pods. + Each ConfigMap is added to the StatefulSet definition as a volume named `configmap-`. + The ConfigMaps are mounted into /etc/prometheus/configmaps/ in the 'prometheus' container. + items: + type: string + type: array + containers: + description: |- + containers allows injecting additional containers or modifying operator + generated containers. This can be used to allow adding an authentication + proxy to the Pods or to change the behavior of an operator generated + container. Containers described here modify an operator generated + container if they share the same name and modifications are done via a + strategic merge patch. + + The names of containers managed by the operator are: + * `prometheus` + * `config-reloader` + * `thanos-sidecar` + + Overriding containers is entirely outside the scope of what the + maintainers will support and by doing so, you accept that this behaviour + may break at any time without notice. + 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 be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string type: array x-kubernetes-list-type: atomic - image: + 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)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + 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. + May consist of any printable ASCII characters except '='. + 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, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + fileKeyRef: + description: |- + FileKeyRef selects a key of the env file. + Requires the EnvFiles feature gate to be enabled. + properties: + key: + description: |- + The key within the env file. An invalid key will prevent the pod from starting. + The keys defined within a source may consist of any printable ASCII characters except '='. + During Alpha stage of the EnvFiles feature gate, the key size is limited to 128 characters. + type: string + optional: + default: false + description: |- + Specify whether the file or its key must be defined. If the file or key + does not exist, then the env var is not published. + If optional is set to true and the specified key does not exist, + the environment variable will not be set in the Pod's containers. + + If optional is set to false and the specified key does not exist, + an error will be returned during Pod creation. + type: boolean + path: + description: |- + The path within the volume from which to select the file. + Must be relative and may not contain the '..' path or start with '..'. + type: string + volumeName: + description: The name of the volume mount containing the env file. + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + envFrom: + description: |- + List of sources to populate environment variables in the container. + The keys defined within a source may consist of any printable ASCII characters except '='. + 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 or Secrets + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: |- + Optional text to prepend to the name of each environment variable. + May consist of any printable ASCII characters except '='. + type: string + secretRef: + description: The Secret to select from + properties: + name: + default: "" + 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 + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + image: description: |- Container image name. More info: https://kubernetes.io/docs/concepts/containers/images @@ -2866,17 +3574,23 @@ spec: type: array convertClassicHistogramsToNHCB: description: |- - Whether to convert all scraped classic histograms into a native + convertClassicHistogramsToNHCB defines whether to convert all scraped classic histograms into a native histogram with custom buckets. It requires Prometheus >= v3.4.0. type: boolean + disableCompaction: + description: |- + disableCompaction when true, the Prometheus compaction is disabled. + When `spec.thanos.objectStorageConfig` or `spec.objectStorageConfigFile` are defined, the operator automatically + disables block compaction to avoid race conditions during block uploads (as the Thanos documentation recommends). + type: boolean dnsConfig: - description: Defines the DNS configuration for the pods. + description: dnsConfig defines the DNS configuration for the pods. properties: nameservers: description: |- - A list of DNS name server IP addresses. + nameservers defines the list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. items: minLength: 1 @@ -2885,7 +3599,7 @@ spec: x-kubernetes-list-type: set options: description: |- - A list of DNS resolver options. + options defines the list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Resolution options given in Options will override those that appear in the base DNSPolicy. @@ -2893,11 +3607,11 @@ spec: description: PodDNSConfigOption defines DNS resolver options of a pod. properties: name: - description: Name is required and must be unique. + description: name is required and must be unique. minLength: 1 type: string value: - description: Value is optional. + description: value is optional. type: string required: - name @@ -2908,7 +3622,7 @@ spec: x-kubernetes-list-type: map searches: description: |- - A list of DNS search domains for host-name lookup. + searches defines the list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. items: minLength: 1 @@ -2917,16 +3631,28 @@ spec: x-kubernetes-list-type: set type: object dnsPolicy: - description: Defines the DNS policy for the pods. + description: dnsPolicy defines the DNS policy for the pods. enum: - ClusterFirstWithHostNet - ClusterFirst - Default - None type: string + enableAdminAPI: + description: |- + enableAdminAPI defines access to the Prometheus web admin API. + + WARNING: Enabling the admin APIs enables mutating endpoints, to delete data, + shutdown Prometheus, and more. Enabling this should be done with care and the + user is advised to add additional authentication authorization via a proxy to + ensure only clients authorized to perform these actions can do so. + + For more information: + https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis + type: boolean enableFeatures: description: |- - Enable access to Prometheus feature flags. By default, no features are enabled. + enableFeatures enables access to Prometheus feature flags. By default, no features are enabled. Enabling features which are disabled by default is entirely outside the scope of what the maintainers will support and by doing so, you accept @@ -2940,7 +3666,7 @@ spec: x-kubernetes-list-type: set enableOTLPReceiver: description: |- - Enable Prometheus to be used as a receiver for the OTLP Metrics protocol. + enableOTLPReceiver defines the Prometheus to be used as a receiver for the OTLP Metrics protocol. Note that the OTLP receiver endpoint is automatically enabled if `.spec.otlpConfig` is defined. @@ -2948,7 +3674,7 @@ spec: type: boolean enableRemoteWriteReceiver: description: |- - Enable Prometheus to be used as a receiver for the Prometheus remote + enableRemoteWriteReceiver defines the Prometheus to be used as a receiver for the Prometheus remote write protocol. WARNING: This is not considered an efficient way of ingesting samples. @@ -2960,11 +3686,11 @@ spec: It requires Prometheus >= v2.33.0. type: boolean enableServiceLinks: - description: Indicates whether information about services should be injected into pod's environment variables + description: enableServiceLinks defines whether information about services should be injected into pod's environment variables type: boolean enforcedBodySizeLimit: description: |- - When defined, enforcedBodySizeLimit specifies a global limit on the size + enforcedBodySizeLimit when defined specifies a global limit on the size of uncompressed response body that will be accepted by Prometheus. Targets responding with a body larger than this many bytes will cause the scrape to fail. @@ -2980,7 +3706,7 @@ spec: type: string enforcedKeepDroppedTargets: description: |- - When defined, enforcedKeepDroppedTargets specifies a global limit on the number of targets + enforcedKeepDroppedTargets when defined specifies a global limit on the number of targets dropped by relabeling that will be kept in memory. The value overrides any `spec.keepDroppedTargets` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.keepDroppedTargets` is @@ -2997,7 +3723,7 @@ spec: type: integer enforcedLabelLimit: description: |- - When defined, enforcedLabelLimit specifies a global limit on the number + enforcedLabelLimit when defined specifies a global limit on the number of labels per sample. The value overrides any `spec.labelLimit` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.labelLimit` is greater than zero and less than `spec.enforcedLabelLimit`. @@ -3013,7 +3739,7 @@ spec: type: integer enforcedLabelNameLengthLimit: description: |- - When defined, enforcedLabelNameLengthLimit specifies a global limit on the length + enforcedLabelNameLengthLimit when defined specifies a global limit on the length of labels name per sample. The value overrides any `spec.labelNameLengthLimit` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.labelNameLengthLimit` is greater than zero and less than `spec.enforcedLabelNameLengthLimit`. @@ -3029,7 +3755,7 @@ spec: type: integer enforcedLabelValueLengthLimit: description: |- - When not null, enforcedLabelValueLengthLimit defines a global limit on the length + enforcedLabelValueLengthLimit when not null defines a global limit on the length of labels value per sample. The value overrides any `spec.labelValueLengthLimit` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.labelValueLengthLimit` is greater than zero and less than `spec.enforcedLabelValueLengthLimit`. @@ -3045,7 +3771,7 @@ spec: type: integer enforcedNamespaceLabel: description: |- - When not empty, a label will be added to: + enforcedNamespaceLabel when not empty, a label will be added to: 1. All metrics scraped from `ServiceMonitor`, `PodMonitor`, `Probe` and `ScrapeConfig` objects. 2. All metrics generated from recording rules defined in `PrometheusRule` objects. @@ -3060,7 +3786,7 @@ spec: type: string enforcedSampleLimit: description: |- - When defined, enforcedSampleLimit specifies a global limit on the number + enforcedSampleLimit when defined specifies a global limit on the number of scraped samples that will be accepted. This overrides any `spec.sampleLimit` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.sampleLimit` is greater than zero and less than @@ -3078,7 +3804,7 @@ spec: type: integer enforcedTargetLimit: description: |- - When defined, enforcedTargetLimit specifies a global limit on the number + enforcedTargetLimit when defined specifies a global limit on the number of scraped targets. The value overrides any `spec.targetLimit` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.targetLimit` is greater than zero and less than `spec.enforcedTargetLimit`. @@ -3093,9 +3819,16 @@ spec: * Scrape objects with a targetLimit value greater than enforcedTargetLimit are set to enforcedTargetLimit. format: int64 type: integer + evaluationInterval: + default: 30s + description: |- + evaluationInterval defines the interval between rule evaluations. + Default: "30s" + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string excludedFromEnforcement: description: |- - List of references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects + excludedFromEnforcement defines the list of references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects to be excluded from enforcing a namespace label of origin. It is only applicable if `spec.enforcedNamespaceLabel` set to true. @@ -3104,21 +3837,21 @@ spec: properties: group: default: monitoring.coreos.com - description: Group of the referent. When not specified, it defaults to `monitoring.coreos.com` + description: group of the referent. When not specified, it defaults to `monitoring.coreos.com` enum: - monitoring.coreos.com type: string name: - description: Name of the referent. When not set, all resources in the namespace are matched. + description: name of the referent. When not set, all resources in the namespace are matched. type: string namespace: description: |- - Namespace of the referent. + namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ minLength: 1 type: string resource: - description: Resource of the referent. + description: resource of the referent. enum: - prometheusrules - servicemonitors @@ -3131,24 +3864,41 @@ spec: - resource type: object type: array + exemplars: + description: |- + exemplars related settings that are runtime reloadable. + It requires to enable the `exemplar-storage` feature flag to be effective. + properties: + maxSize: + description: |- + maxSize defines the maximum number of exemplars stored in memory for all series. + + exemplar-storage itself must be enabled using the `spec.enableFeature` + option for exemplars to be scraped in the first place. + + If not set, Prometheus uses its default value. A value of zero or less + than zero disables the storage. + format: int64 + type: integer + type: object externalLabels: additionalProperties: type: string description: |- - The labels to add to any time series or alerts when communicating with + externalLabels defines the labels to add to any time series or alerts when communicating with external systems (federation, remote storage, Alertmanager). Labels defined by `spec.replicaExternalLabelName` and `spec.prometheusExternalLabelName` take precedence over this list. type: object externalUrl: description: |- - The external URL under which the Prometheus service is externally + externalUrl defines the external URL under which the Prometheus service is externally available. This is necessary to generate correct URLs (for instance if Prometheus is accessible behind an Ingress resource). type: string hostAliases: description: |- - Optional list of hosts and IPs that will be injected into the Pod's + hostAliases defines the optional list of hosts and IPs that will be injected into the Pod's hosts file if specified. items: description: |- @@ -3156,12 +3906,12 @@ spec: pod's hosts file. properties: hostnames: - description: Hostnames for the above IP address. + description: hostnames defines hostnames for the above IP address. items: type: string type: array ip: - description: IP address of the host file entry. + description: ip defines the IP address of the host file entry. type: string required: - hostnames @@ -3173,7 +3923,7 @@ spec: x-kubernetes-list-type: map hostNetwork: description: |- - Use the host's network namespace if true. + hostNetwork defines the host's network namespace if true. Make sure to understand the security implications if you want to enable it (https://kubernetes.io/docs/concepts/configuration/overview/ ). @@ -3184,7 +3934,7 @@ spec: type: boolean hostUsers: description: |- - HostUsers supports the user space in Kubernetes. + hostUsers supports the user space in Kubernetes. More info: https://kubernetes.io/docs/tasks/configure-pod-container/user-namespaces/ @@ -3193,14 +3943,14 @@ spec: type: boolean ignoreNamespaceSelectors: description: |- - When true, `spec.namespaceSelector` from all PodMonitor, ServiceMonitor + ignoreNamespaceSelectors when true, `spec.namespaceSelector` from all PodMonitor, ServiceMonitor and Probe objects will be ignored. They will only discover targets within the namespace of the PodMonitor, ServiceMonitor and Probe object. type: boolean image: description: |- - Container image name for Prometheus. If specified, it takes precedence + image defines the container image name for Prometheus. If specified, it takes precedence over the `spec.baseImage`, `spec.tag` and `spec.sha` fields. Specifying `spec.version` is still necessary to ensure the Prometheus @@ -3212,7 +3962,7 @@ spec: type: string imagePullPolicy: description: |- - Image pull policy for the 'prometheus', 'init-config-reloader' and 'config-reloader' containers. + imagePullPolicy defines the image pull policy for the 'prometheus', 'init-config-reloader' and 'config-reloader' containers. See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details. enum: - "" @@ -3222,7 +3972,7 @@ spec: type: string imagePullSecrets: description: |- - An optional list of references to Secrets in the same namespace + imagePullSecrets defines an optional list of references to Secrets in the same namespace to use for pulling images from registries. See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod items: @@ -3244,7 +3994,7 @@ spec: type: array initContainers: description: |- - InitContainers allows injecting initContainers to the Pod definition. Those + initContainers allows injecting initContainers to the Pod definition. Those can be used to e.g. fetch secrets for injection into the Prometheus configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: @@ -4721,7 +5471,7 @@ spec: type: array keepDroppedTargets: description: |- - Per-scrape limit on the number of targets dropped by relabeling + keepDroppedTargets defines the per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0. @@ -4732,7 +5482,7 @@ spec: type: integer labelLimit: description: |- - Per-scrape limit on number of labels that will be accepted for a sample. + labelLimit defines per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don't specify an explicit limit value. @@ -4741,7 +5491,7 @@ spec: type: integer labelNameLengthLimit: description: |- - Per-scrape limit on length of labels name that will be accepted for a sample. + labelNameLengthLimit defines the per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don't specify an explicit limit value. @@ -4750,7 +5500,7 @@ spec: type: integer labelValueLengthLimit: description: |- - Per-scrape limit on length of labels value that will be accepted for a sample. + labelValueLengthLimit defines the per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don't specify an explicit limit value. @@ -4759,18 +5509,18 @@ spec: type: integer listenLocal: description: |- - When true, the Prometheus server listens on the loopback address + listenLocal when true, the Prometheus server listens on the loopback address instead of the Pod IP's address. type: boolean logFormat: - description: Log format for Log level for Prometheus and the config-reloader sidecar. + description: logFormat for Log level for Prometheus and the config-reloader sidecar. enum: - "" - logfmt - json type: string logLevel: - description: Log level for Prometheus and the config-reloader sidecar. + description: logLevel for Prometheus and the config-reloader sidecar. enum: - "" - debug @@ -4780,32 +5530,23 @@ spec: type: string maximumStartupDurationSeconds: description: |- - Defines the maximum time that the `prometheus` container's startup probe will wait before being considered failed. The startup probe will return success after the WAL replay is complete. - If set, the value should be greater than 60 (seconds). Otherwise it will be equal to 600 seconds (15 minutes). + maximumStartupDurationSeconds defines the maximum time that the `prometheus` container's startup probe will wait before being considered failed. The startup probe will return success after the WAL replay is complete. + If set, the value should be greater than 60 (seconds). Otherwise it will be equal to 900 seconds (15 minutes). format: int32 minimum: 60 type: integer minReadySeconds: description: |- - Minimum number of seconds for which a newly created Pod should be ready + minReadySeconds defines the minimum number of seconds for which a newly created Pod should be ready without any of its container crashing for it to be considered available. If unset, pods will be considered available as soon as they are ready. format: int32 minimum: 0 type: integer - mode: - description: |- - Mode defines how the Prometheus operator deploys the PrometheusAgent pod(s). - - (Alpha) Using this field requires the `PrometheusAgentDaemonSet` feature gate to be enabled. - enum: - - StatefulSet - - DaemonSet - type: string nameEscapingScheme: description: |- - Specifies the character escaping scheme that will be requested when scraping + nameEscapingScheme defines the character escaping scheme that will be requested when scraping for metric and label names that do not conform to the legacy Prometheus character set. @@ -4818,7 +5559,7 @@ spec: type: string nameValidationScheme: description: |- - Specifies the validation scheme for metric and label names. + nameValidationScheme defines the validation scheme for metric and label names. It requires Prometheus >= v2.55.0. enum: @@ -4828,21 +5569,21 @@ spec: nodeSelector: additionalProperties: type: string - description: Defines on which Nodes the Pods are scheduled. + description: nodeSelector defines on which Nodes the Pods are scheduled. type: object otlp: description: |- - Settings related to the OTLP receiver feature. + otlp defines the settings related to the OTLP receiver feature. It requires Prometheus >= v2.55.0. properties: convertHistogramsToNHCB: description: |- - Configures optional translation of OTLP explicit bucket histograms into native histograms with custom buckets. + convertHistogramsToNHCB defines optional translation of OTLP explicit bucket histograms into native histograms with custom buckets. It requires Prometheus >= v3.4.0. type: boolean ignoreResourceAttributes: description: |- - List of OpenTelemetry resource attributes to ignore when `promoteAllResourceAttributes` is true. + ignoreResourceAttributes defines the list of OpenTelemetry resource attributes to ignore when `promoteAllResourceAttributes` is true. It requires `promoteAllResourceAttributes` to be true. It requires Prometheus >= v3.5.0. @@ -4854,21 +5595,21 @@ spec: x-kubernetes-list-type: set keepIdentifyingResourceAttributes: description: |- - Enables adding `service.name`, `service.namespace` and `service.instance.id` + keepIdentifyingResourceAttributes enables adding `service.name`, `service.namespace` and `service.instance.id` resource attributes to the `target_info` metric, on top of converting them into the `instance` and `job` labels. It requires Prometheus >= v3.1.0. type: boolean promoteAllResourceAttributes: description: |- - Promote all resource attributes to metric labels except the ones defined in `ignoreResourceAttributes`. + promoteAllResourceAttributes promotes all resource attributes to metric labels except the ones defined in `ignoreResourceAttributes`. Cannot be true when `promoteResourceAttributes` is defined. It requires Prometheus >= v3.5.0. type: boolean promoteResourceAttributes: description: |- - List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none. + promoteResourceAttributes defines the list of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none. Cannot be defined when `promoteAllResourceAttributes` is true. items: minLength: 1 @@ -4876,39 +5617,46 @@ spec: minItems: 1 type: array x-kubernetes-list-type: set + promoteScopeMetadata: + description: |- + promoteScopeMetadata controls whether to promote OpenTelemetry scope metadata (i.e. name, version, schema URL, and attributes) to metric labels. + As per the OpenTelemetry specification, the aforementioned scope metadata should be identifying, i.e. made into metric labels. + It requires Prometheus >= v3.6.0. + type: boolean translationStrategy: description: |- - Configures how the OTLP receiver endpoint translates the incoming metrics. + translationStrategy defines how the OTLP receiver endpoint translates the incoming metrics. It requires Prometheus >= v3.0.0. enum: - NoUTF8EscapingWithSuffixes - UnderscoreEscapingWithSuffixes - NoTranslation + - UnderscoreEscapingWithoutSuffixes type: string type: object overrideHonorLabels: description: |- - When true, Prometheus resolves label conflicts by renaming the labels in the scraped data + overrideHonorLabels when true, Prometheus resolves label conflicts by renaming the labels in the scraped data to “exported_” for all targets created from ServiceMonitor, PodMonitor and ScrapeConfig objects. Otherwise the HonorLabels field of the service or pod monitor applies. - In practice,`overrideHonorLaels:true` enforces `honorLabels:false` + In practice,`OverrideHonorLabels:true` enforces `honorLabels:false` for all ServiceMonitor, PodMonitor and ScrapeConfig objects. type: boolean overrideHonorTimestamps: description: |- - When true, Prometheus ignores the timestamps for all the targets created + overrideHonorTimestamps when true, Prometheus ignores the timestamps for all the targets created from service and pod monitors. Otherwise the HonorTimestamps field of the service or pod monitor applies. type: boolean paused: description: |- - When a Prometheus deployment is paused, no actions except for deletion + paused defines when a Prometheus deployment is paused, no actions except for deletion will be performed on the underlying objects. type: boolean persistentVolumeClaimRetentionPolicy: description: |- - The field controls if and how PVCs are deleted during the lifecycle of a StatefulSet. + persistentVolumeClaimRetentionPolicy defines the field controls if and how PVCs are deleted during the lifecycle of a StatefulSet. The default behavior is all PVCs are retained. This is an alpha field from kubernetes 1.23 until 1.26 and a beta field from 1.26. It requires enabling the StatefulSetAutoDeletePVC feature gate. @@ -4929,9 +5677,24 @@ spec: the replica count to be deleted. type: string type: object + podManagementPolicy: + description: |- + podManagementPolicy defines the policy for creating/deleting pods when + scaling up and down. + + Unlike the default StatefulSet behavior, the default policy is + `Parallel` to avoid manual intervention in case a pod gets stuck during + a rollout. + + Note that updating this value implies the recreation of the StatefulSet + which incurs a service outage. + enum: + - OrderedReady + - Parallel + type: string podMetadata: description: |- - PodMetadata configures labels and annotations which are propagated to the Prometheus pods. + podMetadata defines labels and annotations which are propagated to the Prometheus pods. The following items are reserved and cannot be overridden: * "prometheus" label, set to the name of the Prometheus object. @@ -4947,7 +5710,7 @@ spec: additionalProperties: type: string description: |- - Annotations is an unstructured key value map stored with a resource that may be + annotations defines 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/ @@ -4956,14 +5719,14 @@ spec: additionalProperties: type: string description: |- - Map of string keys and values that can be used to organize and categorize + labels define the 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 name: description: |- - Name must be unique within a namespace. Is required when creating resources, although + 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. @@ -4973,7 +5736,7 @@ spec: type: object podMonitorNamespaceSelector: description: |- - Namespaces to match for PodMonitors discovery. An empty label selector + podMonitorNamespaceSelector defines the namespaces to match for PodMonitors discovery. An empty label selector matches all namespaces. A null label selector (default value) matches the current namespace only. properties: @@ -4992,223 +5755,964 @@ spec: 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 - type: array - x-kubernetes-list-type: atomic + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + podMonitorSelector: + description: |- + podMonitorSelector defines the podMonitors to be selected for target discovery. An empty label selector + matches all objects. A null label selector matches no objects. + + If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` + and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged. + The Prometheus operator will ensure that the Prometheus configuration's + Secret exists, but it is the responsibility of the user to provide the raw + gzipped Prometheus configuration under the `prometheus.yaml.gz` key. + This behavior is *deprecated* and will be removed in the next major version + of the custom resource definition. It is recommended to use + `spec.additionalScrapeConfigs` instead. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + podTargetLabels: + description: |- + podTargetLabels are appended to the `spec.podTargetLabels` field of all + PodMonitor and ServiceMonitor objects. + items: + type: string + type: array + portName: + default: web + description: |- + portName used for the pods and governing service. + Default: "web" + type: string + priorityClassName: + description: priorityClassName assigned to the Pods. + type: string + probeNamespaceSelector: + description: |- + probeNamespaceSelector defines the namespaces to match for Probe discovery. An empty label + selector matches all namespaces. A null label selector matches the + current namespace only. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + probeSelector: + description: |- + probeSelector defines the probes to be selected for target discovery. An empty label selector + matches all objects. A null label selector matches no objects. + + If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` + and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged. + The Prometheus operator will ensure that the Prometheus configuration's + Secret exists, but it is the responsibility of the user to provide the raw + gzipped Prometheus configuration under the `prometheus.yaml.gz` key. + This behavior is *deprecated* and will be removed in the next major version + of the custom resource definition. It is recommended to use + `spec.additionalScrapeConfigs` instead. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + prometheusExternalLabelName: + description: |- + prometheusExternalLabelName defines the name of Prometheus external label used to denote the Prometheus instance + name. The external label will _not_ be added when the field is set to + the empty string (`""`). + + Default: "prometheus" + type: string + prometheusRulesExcludedFromEnforce: + description: |- + prometheusRulesExcludedFromEnforce defines the list of PrometheusRule objects to which the namespace label + enforcement doesn't apply. + This is only relevant when `spec.enforcedNamespaceLabel` is set to true. + Deprecated: use `spec.excludedFromEnforcement` instead. + items: + description: |- + PrometheusRuleExcludeConfig enables users to configure excluded + PrometheusRule names and their namespaces to be ignored while enforcing + namespace label for alerts and metrics. + properties: + ruleName: + description: ruleName defines the name of the excluded PrometheusRule object. + type: string + ruleNamespace: + description: ruleNamespace defines the namespace of the excluded PrometheusRule object. + type: string + required: + - ruleName + - ruleNamespace + type: object + type: array + query: + description: query defines the configuration of the Prometheus query service. + properties: + lookbackDelta: + description: lookbackDelta defines the delta difference allowed for retrieving metrics during expression evaluations. + type: string + maxConcurrency: + description: maxConcurrency defines the number of concurrent queries that can be run at once. + format: int32 + minimum: 1 + type: integer + maxSamples: + description: |- + maxSamples defines the maximum number of samples a single query can load into memory. Note that + queries will fail if they would load more samples than this into memory, + so this also limits the number of samples a query can return. + format: int32 + type: integer + timeout: + description: timeout defines the maximum time a query may take before being aborted. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string + type: object + queryLogFile: + description: |- + queryLogFile specifies where the file to which PromQL queries are logged. + + If the filename has an empty path, e.g. 'query.log', The Prometheus Pods + will mount the file into an emptyDir volume at `/var/log/prometheus`. + If a full path is provided, e.g. '/var/log/prometheus/query.log', you + must mount a volume in the specified directory and it must be writable. + This is because the prometheus container runs with a read-only root + filesystem for security reasons. + Alternatively, the location can be set to a standard I/O stream, e.g. + `/dev/stdout`, to log query information to the default Prometheus log + stream. + type: string + reloadStrategy: + description: |- + reloadStrategy defines the strategy used to reload the Prometheus configuration. + If not specified, the configuration is reloaded using the /-/reload HTTP endpoint. + enum: + - HTTP + - ProcessSignal + type: string + remoteRead: + description: remoteRead defines the list of remote read configurations. + items: + description: |- + RemoteReadSpec defines the configuration for Prometheus to read back samples + from a remote endpoint. + properties: + authorization: + description: |- + authorization section for the URL. + + It requires Prometheus >= v2.26.0. + + Cannot be set at the same time as `basicAuth`, or `oauth2`. + properties: + credentials: + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + description: credentialsFile defines the file to read a secret from, mutually exclusive with `credentials`. + type: string + type: + description: |- + type defines the authentication type. The value is case-insensitive. + + "Basic" is not a supported value. + + Default: "Bearer" + type: string + type: object + basicAuth: + description: |- + basicAuth configuration for the URL. + + Cannot be set at the same time as `authorization`, or `oauth2`. + properties: + password: + description: |- + password defines a key of a Secret containing the password for + authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + description: |- + username defines a key of a Secret containing the username for + authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerToken: + description: |- + bearerToken is deprecated: this will be removed in a future release. + *Warning: this field shouldn't be used because the token value appears + in clear-text. Prefer using `authorization`.* + type: string + bearerTokenFile: + description: |- + bearerTokenFile defines the file from which to read the bearer token for the URL. + + Deprecated: this will be removed in a future release. Prefer using `authorization`. + type: string + filterExternalLabels: + description: |- + filterExternalLabels defines whether to use the external labels as selectors for the remote read endpoint. + + It requires Prometheus >= v2.34.0. + type: boolean + followRedirects: + description: |- + followRedirects defines whether HTTP requests follow HTTP 3xx redirects. + + It requires Prometheus >= v2.26.0. + type: boolean + headers: + additionalProperties: + type: string + description: |- + headers defines the custom HTTP headers to be sent along with each remote read request. + Be aware that headers that are set by Prometheus itself can't be overwritten. + Only valid in Prometheus versions 2.26.0 and newer. + type: object + name: + description: |- + name of the remote read queue, it must be unique if specified. The + name is used in metrics and logging in order to differentiate read + configurations. + + It requires Prometheus >= v2.15.0. + type: string + noProxy: + description: |- + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names + that should be excluded from proxying. IP and domain names can + contain port numbers. + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: string + oauth2: + description: |- + oauth2 configuration for the URL. + + It requires Prometheus >= v2.27.0. + + Cannot be set at the same time as `authorization`, or `basicAuth`. + properties: + clientId: + description: |- + clientId defines a key of a Secret or ConfigMap containing the + OAuth2 client's ID. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + clientSecret: + description: |- + clientSecret defines a key of a Secret containing the OAuth2 + client's secret. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + endpointParams: + additionalProperties: + type: string + description: |- + endpointParams configures the HTTP parameters to append to the token + URL. + type: object + noProxy: + description: |- + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names + that should be excluded from proxying. IP and domain names can + contain port numbers. + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: string + proxyConnectHeader: + additionalProperties: + items: + 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: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + description: |- + proxyConnectHeader optionally specifies headers to send to + proxies during CONNECT requests. + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: object + x-kubernetes-map-type: atomic + proxyFromEnvironment: + description: |- + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: boolean + proxyUrl: + description: proxyUrl defines the HTTP proxy server to use. + pattern: ^(http|https|socks5)://.+$ + type: string + scopes: + description: scopes defines the OAuth2 scopes used for the token request. + items: + type: string + type: array + tlsConfig: + description: |- + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. + It requires Prometheus >= v2.43.0. + properties: + ca: + description: ca defines the Certificate authority used when verifying server certificates. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + cert: + description: cert defines the Client certificate to present when doing client-authentication. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + insecureSkipVerify: + description: insecureSkipVerify defines how to disable target certificate validation. + type: boolean + keySecret: + description: keySecret defines the Secret containing the client key file for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + maxVersion: + description: |- + maxVersion defines the maximum acceptable TLS version. + + It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + minVersion: + description: |- + minVersion defines the minimum acceptable TLS version. + + It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + serverName: + description: serverName is used to verify the hostname for the targets. + type: string + type: object + tokenUrl: + description: tokenUrl defines the URL to fetch the token from. + minLength: 1 + type: string required: - - key - - operator + - clientId + - clientSecret + - tokenUrl type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - 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 - type: object - x-kubernetes-map-type: atomic - podMonitorSelector: - description: |- - PodMonitors to be selected for target discovery. An empty label selector - matches all objects. A null label selector matches no objects. - - If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` - and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged. - The Prometheus operator will ensure that the Prometheus configuration's - Secret exists, but it is the responsibility of the user to provide the raw - gzipped Prometheus configuration under the `prometheus.yaml.gz` key. - This behavior is *deprecated* and will be removed in the next major version - of the custom resource definition. It is recommended to use - `spec.additionalScrapeConfigs` instead. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - items: + proxyConnectHeader: + additionalProperties: + items: + 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: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array 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 - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator + proxyConnectHeader optionally specifies headers to send to + proxies during CONNECT requests. + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: + x-kubernetes-map-type: atomic + proxyFromEnvironment: + description: |- + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: boolean + proxyUrl: + description: proxyUrl defines the HTTP proxy server to use. + pattern: ^(http|https|socks5)://.+$ type: string - 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 - type: object - x-kubernetes-map-type: atomic - podTargetLabels: - description: |- - PodTargetLabels are appended to the `spec.podTargetLabels` field of all - PodMonitor and ServiceMonitor objects. - items: - type: string - type: array - portName: - default: web - description: |- - Port name used for the pods and governing service. - Default: "web" - type: string - priorityClassName: - description: Priority class assigned to the Pods. - type: string - probeNamespaceSelector: - description: |- - Namespaces to match for Probe discovery. An empty label - selector matches all namespaces. A null label selector matches the - current namespace only. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - items: + readRecent: description: |- - A label selector requirement is a selector that contains values, a key, and an operator that - relates the key and values. + readRecent defines whether reads should be made for queries for time ranges that + the local storage should have complete data for. + type: boolean + remoteTimeout: + description: remoteTimeout defines the timeout for requests to the remote read endpoint. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string + requiredMatchers: + additionalProperties: + type: string + description: |- + requiredMatchers defines an optional list of equality matchers which have to be present + in a selector to query the remote read endpoint. + type: object + tlsConfig: + description: tlsConfig to use for the URL. properties: - key: - description: key is the label key that the selector applies to. + ca: + description: ca defines the Certificate authority used when verifying server certificates. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. type: string - operator: + cert: + description: cert defines the Client certificate to present when doing client-authentication. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + description: certFile defines the path to the client cert file in the Prometheus container for the targets. + type: string + insecureSkipVerify: + description: insecureSkipVerify defines how to disable target certificate validation. + type: boolean + keyFile: + description: keyFile defines the path to the client key file in the Prometheus container for the targets. + type: string + keySecret: + description: keySecret defines the Secret containing the client key file for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + maxVersion: description: |- - operator represents a key's relationship to a set of values. - Valid operators are In, NotIn, Exists and DoesNotExist. + maxVersion defines the maximum acceptable TLS version. + + It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 type: string - values: + minVersion: 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 - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - 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 - type: object - x-kubernetes-map-type: atomic - probeSelector: - description: |- - Probes to be selected for target discovery. An empty label selector - matches all objects. A null label selector matches no objects. + minVersion defines the minimum acceptable TLS version. - If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` - and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged. - The Prometheus operator will ensure that the Prometheus configuration's - Secret exists, but it is the responsibility of the user to provide the raw - gzipped Prometheus configuration under the `prometheus.yaml.gz` key. - This behavior is *deprecated* and will be removed in the next major version - of the custom resource definition. It is recommended to use - `spec.additionalScrapeConfigs` instead. - 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. + It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 type: string - operator: - description: |- - operator represents a key's relationship to a set of values. - Valid operators are In, NotIn, Exists and DoesNotExist. + serverName: + description: serverName is used to verify the hostname for the targets. 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 - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: + url: + description: url defines the URL of the endpoint to query from. type: string - 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 - type: object - x-kubernetes-map-type: atomic - prometheusExternalLabelName: - description: |- - Name of Prometheus external label used to denote the Prometheus instance - name. The external label will _not_ be added when the field is set to - the empty string (`""`). - - Default: "prometheus" - type: string - reloadStrategy: - description: |- - Defines the strategy used to reload the Prometheus configuration. - If not specified, the configuration is reloaded using the /-/reload HTTP endpoint. - enum: - - HTTP - - ProcessSignal - type: string + required: + - url + type: object + type: array remoteWrite: - description: Defines the list of remote write configurations. + description: remoteWrite defines the list of remote write configurations. items: description: |- RemoteWriteSpec defines the configuration to write samples from Prometheus @@ -5216,14 +6720,14 @@ spec: properties: authorization: description: |- - Authorization section for the URL. + authorization section for the URL. It requires Prometheus >= v2.26.0 or Thanos >= v0.24.0. Cannot be set at the same time as `sigv4`, `basicAuth`, `oauth2`, or `azureAd`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5245,11 +6749,11 @@ spec: type: object x-kubernetes-map-type: atomic credentialsFile: - description: File to read a secret from, mutually exclusive with `credentials`. + description: credentialsFile defines the file to read a secret from, mutually exclusive with `credentials`. type: string type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -5258,14 +6762,14 @@ spec: type: object azureAd: description: |- - AzureAD for the URL. + azureAd for the URL. It requires Prometheus >= v2.45.0 or Thanos >= v0.31.0. Cannot be set at the same time as `authorization`, `basicAuth`, `oauth2`, or `sigv4`. properties: cloud: - description: The Azure Cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'. + description: cloud defines the Azure Cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'. enum: - AzureChina - AzureGovernment @@ -5273,28 +6777,30 @@ spec: type: string managedIdentity: description: |- - ManagedIdentity defines the Azure User-assigned Managed identity. + managedIdentity defines the Azure User-assigned Managed identity. Cannot be set at the same time as `oauth` or `sdk`. properties: clientId: - description: The client id + description: |- + clientId defines the Azure User-assigned Managed identity. + + For Prometheus >= 3.5.0 and Thanos >= 0.40.0, this field is allowed to be empty to support system-assigned managed identities. + minLength: 1 type: string - required: - - clientId type: object oauth: description: |- - OAuth defines the oauth config that is being used to authenticate. + oauth defines the oauth config that is being used to authenticate. Cannot be set at the same time as `managedIdentity` or `sdk`. It requires Prometheus >= v2.48.0 or Thanos >= v0.31.0. properties: clientId: - description: '`clientID` is the clientId of the Azure Active Directory application that is being used to authenticate.' + description: clientId defines the clientId of the Azure Active Directory application that is being used to authenticate. minLength: 1 type: string clientSecret: - description: '`clientSecret` specifies a key of a Secret containing the client secret of the Azure Active Directory application that is being used to authenticate.' + description: clientSecret specifies a key of a Secret containing the client secret of the Azure Active Directory application that is being used to authenticate. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5316,7 +6822,7 @@ spec: type: object x-kubernetes-map-type: atomic tenantId: - description: '`tenantId` is the tenant ID of the Azure Active Directory application that is being used to authenticate.' + description: tenantId is the tenant ID of the Azure Active Directory application that is being used to authenticate. minLength: 1 pattern: ^[0-9a-zA-Z-.]+$ type: string @@ -5327,27 +6833,27 @@ spec: type: object sdk: description: |- - SDK defines the Azure SDK config that is being used to authenticate. + sdk defines the Azure SDK config that is being used to authenticate. See https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication Cannot be set at the same time as `oauth` or `managedIdentity`. It requires Prometheus >= v2.52.0 or Thanos >= v0.36.0. properties: tenantId: - description: '`tenantId` is the tenant ID of the azure active directory application that is being used to authenticate.' + description: tenantId defines the tenant ID of the azure active directory application that is being used to authenticate. pattern: ^[0-9a-zA-Z-.]+$ type: string type: object type: object basicAuth: description: |- - BasicAuth configuration for the URL. + basicAuth configuration for the URL. Cannot be set at the same time as `sigv4`, `authorization`, `oauth2`, or `azureAd`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -5371,7 +6877,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -5396,23 +6902,22 @@ spec: type: object bearerToken: description: |- + bearerToken is deprecated: this will be removed in a future release. *Warning: this field shouldn't be used because the token value appears in clear-text. Prefer using `authorization`.* - - Deprecated: this will be removed in a future release. type: string bearerTokenFile: description: |- - File from which to read bearer token for the URL. + bearerTokenFile defines the file from which to read bearer token for the URL. Deprecated: this will be removed in a future release. Prefer using `authorization`. type: string enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: description: |- - Configure whether HTTP requests follow HTTP 3xx redirects. + followRedirects defines whether HTTP requests follow HTTP 3xx redirects. It requires Prometheus >= v2.26.0 or Thanos >= v0.24.0. type: boolean @@ -5420,14 +6925,14 @@ spec: additionalProperties: type: string description: |- - Custom HTTP headers to be sent along with each remote write request. + headers defines the custom HTTP headers to be sent along with each remote write request. Be aware that headers that are set by Prometheus itself can't be overwritten. It requires Prometheus >= v2.25.0 or Thanos >= v0.24.0. type: object messageVersion: description: |- - The Remote Write message's version to use when writing to the endpoint. + messageVersion defines the Remote Write message's version to use when writing to the endpoint. `Version1.0` corresponds to the `prometheus.WriteRequest` protobuf message introduced in Remote Write 1.0. `Version2.0` corresponds to the `io.prometheus.write.v2.Request` protobuf message introduced in Remote Write 2.0. @@ -5444,34 +6949,38 @@ spec: - V2.0 type: string metadataConfig: - description: MetadataConfig configures the sending of series metadata to the remote storage. + description: |- + metadataConfig defines how to send a series metadata to the remote storage. + + When the field is empty, **no metadata** is sent. But when the field is + null, metadata is sent. properties: maxSamplesPerSend: description: |- - MaxSamplesPerSend is the maximum number of metadata samples per send. + maxSamplesPerSend defines the maximum number of metadata samples per send. It requires Prometheus >= v2.29.0. format: int32 minimum: -1 type: integer send: - description: Defines whether metric metadata is sent to the remote storage or not. + description: send defines whether metric metadata is sent to the remote storage or not. type: boolean sendInterval: - description: Defines how frequently metric metadata is sent to the remote storage. + description: sendInterval defines how frequently metric metadata is sent to the remote storage. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string type: object name: description: |- - The name of the remote write queue, it must be unique if specified. The + name of the remote write queue, it must be unique if specified. The name is used in metrics and logging in order to differentiate queues. It requires Prometheus >= v2.15.0 or Thanos >= 0.24.0. type: string noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -5479,7 +6988,7 @@ spec: type: string oauth2: description: |- - OAuth2 configuration for the URL. + oauth2 configuration for the URL. It requires Prometheus >= v2.27.0 or Thanos >= v0.24.0. @@ -5487,11 +6996,11 @@ spec: properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5513,7 +7022,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5537,7 +7046,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -5563,12 +7072,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -5600,7 +7109,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -5608,29 +7117,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5652,7 +7161,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5675,10 +7184,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5700,7 +7209,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5723,10 +7232,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5749,7 +7258,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -5760,7 +7269,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -5770,11 +7279,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -5808,7 +7317,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -5816,82 +7325,70 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string queueConfig: - description: QueueConfig allows tuning of the remote write queue parameters. + description: queueConfig allows tuning of the remote write queue parameters. properties: batchSendDeadline: - description: BatchSendDeadline is the maximum time a sample will wait in buffer. + description: batchSendDeadline defines the maximum time a sample will wait in buffer. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string capacity: description: |- - Capacity is the number of samples to buffer per shard before we start + capacity defines the number of samples to buffer per shard before we start dropping them. type: integer maxBackoff: - description: MaxBackoff is the maximum retry delay. + description: maxBackoff defines the maximum retry delay. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string maxRetries: - description: MaxRetries is the maximum number of times to retry a batch on recoverable errors. + description: maxRetries defines the maximum number of times to retry a batch on recoverable errors. type: integer maxSamplesPerSend: - description: MaxSamplesPerSend is the maximum number of samples per send. + description: maxSamplesPerSend defines the maximum number of samples per send. type: integer maxShards: - description: MaxShards is the maximum number of shards, i.e. amount of concurrency. + description: maxShards defines the maximum number of shards, i.e. amount of concurrency. type: integer minBackoff: - description: MinBackoff is the initial retry delay. Gets doubled for every retry. + description: minBackoff defines the initial retry delay. Gets doubled for every retry. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string minShards: - description: MinShards is the minimum number of shards, i.e. amount of concurrency. + description: minShards defines the minimum number of shards, i.e. amount of concurrency. type: integer retryOnRateLimit: description: |- - Retry upon receiving a 429 status code from the remote-write storage. + retryOnRateLimit defines the retry upon receiving a 429 status code from the remote-write storage. This is an *experimental feature*, it may change in any upcoming release in a breaking way. type: boolean sampleAgeLimit: description: |- - SampleAgeLimit drops samples older than the limit. + sampleAgeLimit drops samples older than the limit. It requires Prometheus >= v2.50.0 or Thanos >= v0.32.0. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string type: object remoteTimeout: - description: Timeout for requests to the remote write endpoint. + description: remoteTimeout defines the timeout for requests to the remote write endpoint. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string roundRobinDNS: - description: |- - When enabled: - - The remote-write mechanism will resolve the hostname via DNS. - - It will randomly select one of the resolved IP addresses and connect to it. - - When disabled (default behavior): - - The Go standard library will handle hostname resolution. - - It will attempt connections to each resolved IP address sequentially. - - Note: The connection timeout applies to the entire resolution and connection process. - If disabled, the timeout is distributed across all connection attempts. - - It requires Prometheus >= v3.1.0 or Thanos >= v0.38.0. + description: "roundRobinDNS controls the DNS resolution behavior for remote-write connections.\nWhen enabled:\n - The remote-write mechanism will resolve the hostname via DNS.\n - It will randomly select one of the resolved IP addresses and connect to it.\n\nWhen disabled (default behavior):\n - The Go standard library will handle hostname resolution.\n - It will attempt connections to each resolved IP address sequentially.\n\nNote: The connection timeout applies to the entire resolution and connection process.\n\n\tIf disabled, the timeout is distributed across all connection attempts.\n\nIt requires Prometheus >= v3.1.0 or Thanos >= v0.38.0." type: boolean sendExemplars: description: |- - Enables sending of exemplars over remote write. Note that + sendExemplars enables sending of exemplars over remote write. Note that exemplar-storage itself must be enabled using the `spec.enableFeatures` option for exemplars to be scraped in the first place. @@ -5899,14 +7396,14 @@ spec: type: boolean sendNativeHistograms: description: |- - Enables sending of native histograms, also known as sparse histograms + sendNativeHistograms enables sending of native histograms, also known as sparse histograms over remote write. It requires Prometheus >= v2.40.0 or Thanos >= v0.30.0. type: boolean sigv4: description: |- - Sigv4 allows to configures AWS's Signature Verification 4 for the URL. + sigv4 defines the AWS's Signature Verification 4 for the URL. It requires Prometheus >= v2.26.0 or Thanos >= v0.24.0. @@ -5914,7 +7411,7 @@ spec: properties: accessKey: description: |- - AccessKey is the AWS API key. If not specified, the environment variable + accessKey defines the AWS API key. If not specified, the environment variable `AWS_ACCESS_KEY_ID` is used. properties: key: @@ -5937,17 +7434,17 @@ spec: type: object x-kubernetes-map-type: atomic profile: - description: Profile is the named AWS profile used to authenticate. + description: profile defines the named AWS profile used to authenticate. type: string region: - description: Region is the AWS region. If blank, the region from the default credentials chain used. + description: region defines the AWS region. If blank, the region from the default credentials chain used. type: string roleArn: - description: RoleArn is the named AWS profile used to authenticate. + description: roleArn defines the named AWS profile used to authenticate. type: string secretKey: description: |- - SecretKey is the AWS API secret. If not specified, the environment + secretKey defines the AWS API secret. If not specified, the environment variable `AWS_SECRET_ACCESS_KEY` is used. properties: key: @@ -5969,15 +7466,20 @@ spec: - key type: object x-kubernetes-map-type: atomic + useFIPSSTSEndpoint: + description: |- + useFIPSSTSEndpoint defines the FIPS mode for the AWS STS endpoint. + It requires Prometheus >= v2.54.0. + type: boolean type: object tlsConfig: - description: TLS Config to use for the URL. + description: tlsConfig to use for the URL. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5999,7 +7501,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6022,13 +7524,13 @@ spec: x-kubernetes-map-type: atomic type: object caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. type: string cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6050,7 +7552,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6073,16 +7575,16 @@ spec: x-kubernetes-map-type: atomic type: object certFile: - description: Path to the client cert file in the Prometheus container for the targets. + description: certFile defines the path to the client cert file in the Prometheus container for the targets. type: string insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keyFile: - description: Path to the client key file in the Prometheus container for the targets. + description: keyFile defines the path to the client key file in the Prometheus container for the targets. type: string keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6105,7 +7607,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -6116,7 +7618,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -6126,15 +7628,15 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object url: - description: The URL of the endpoint to send samples to. + description: url defines the URL of the endpoint to send samples to. minLength: 1 type: string writeRelabelConfigs: - description: The list of remote write relabel configurations. + description: writeRelabelConfigs defines the list of remote write relabel configurations. items: description: |- RelabelConfig allows dynamic rewriting of the label set for targets, alerts, @@ -6145,7 +7647,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -6177,39 +7679,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -6224,7 +7726,7 @@ spec: type: array remoteWriteReceiverMessageVersions: description: |- - List of the protobuf message versions to accept when receiving the + remoteWriteReceiverMessageVersions list of the protobuf message versions to accept when receiving the remote writes. It requires Prometheus >= v2.54.0. @@ -6238,7 +7740,7 @@ spec: x-kubernetes-list-type: set replicaExternalLabelName: description: |- - Name of Prometheus external label used to denote the replica name. + replicaExternalLabelName defines the name of Prometheus external label used to denote the replica name. The external label will _not_ be added when the field is set to the empty string (`""`). @@ -6246,7 +7748,7 @@ spec: type: string replicas: description: |- - Number of replicas of each shard to deploy for a Prometheus deployment. + replicas defines the number of replicas of each shard to deploy for a Prometheus deployment. `spec.replicas` multiplied by `spec.shards` is the total number of Pods created. @@ -6254,7 +7756,7 @@ spec: format: int32 type: integer resources: - description: Defines the resources requests and limits of the 'prometheus' container. + description: resources defines the resources requests and limits of the 'prometheus' container. properties: claims: description: |- @@ -6281,52 +7783,191 @@ spec: only the result of this request. type: string required: - - name + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + 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 + type: object + retention: + description: |- + retention defines how long to retain the Prometheus data. + + Default: "24h" if `spec.retention` and `spec.retentionSize` are empty. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string + retentionSize: + description: retentionSize defines the maximum number of bytes used by the Prometheus data. + pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$ + type: string + routePrefix: + description: |- + routePrefix defines the route prefix Prometheus registers HTTP handlers for. + + This is useful when using `spec.externalURL`, and a proxy is rewriting + HTTP routes of a request, and the actual ExternalURL is still true, but + the server serves requests under a different route prefix. For example + for use with `kubectl proxy`. + type: string + ruleNamespaceSelector: + description: |- + ruleNamespaceSelector defines the namespaces to match for PrometheusRule discovery. An empty label selector + matches all namespaces. A null label selector matches the current + namespace only. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + ruleQueryOffset: + description: |- + ruleQueryOffset defines the offset the rule evaluation timestamp of this particular group by the specified duration into the past. + It requires Prometheus >= v2.53.0. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string + ruleSelector: + description: |- + ruleSelector defines the prometheusRule objects to be selected for rule evaluation. 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator type: object type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: + x-kubernetes-list-type: atomic + matchLabels: additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true + type: string description: |- - Limits describes the maximum amount of compute resources allowed. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + 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 - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true + type: object + x-kubernetes-map-type: atomic + rules: + description: rules defines the configuration of the Prometheus rules' engine. + properties: + alert: 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/ + alert defines the parameters of the Prometheus rules' engine. + + Any update to these parameters trigger a restart of the pods. + properties: + forGracePeriod: + description: |- + forGracePeriod defines the minimum duration between alert and restored 'for' state. + + This is maintained only for alerts with a configured 'for' time greater + than the grace period. + type: string + forOutageTolerance: + description: |- + forOutageTolerance defines the max time to tolerate prometheus outage for restoring 'for' state of + alert. + type: string + resendDelay: + description: |- + resendDelay defines the minimum amount of time to wait before resending an alert to + Alertmanager. + type: string type: object type: object - routePrefix: - description: |- - The route prefix Prometheus registers HTTP handlers for. - - This is useful when using `spec.externalURL`, and a proxy is rewriting - HTTP routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string runtime: - description: RuntimeConfig configures the values for the Prometheus process behavior + description: runtime defines the values for the Prometheus process behavior properties: goGC: description: |- - The Go garbage collection target percentage. Lowering this number may increase the CPU usage. + goGC defines the Go garbage collection target percentage. Lowering this number may increase the CPU usage. See: https://tip.golang.org/doc/gc-guide#GOGC format: int32 minimum: -1 @@ -6334,7 +7975,7 @@ spec: type: object sampleLimit: description: |- - SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. + sampleLimit defines per-scrape limit on number of scraped samples that will be accepted. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don't specify an explicit limit value. @@ -6343,7 +7984,7 @@ spec: type: integer scrapeClasses: description: |- - List of scrape classes to expose to scraping objects such as + scrapeClasses defines the list of scrape classes to expose to scraping objects such as PodMonitors, ServiceMonitors, Probes and ScrapeConfigs. This is an *experimental feature*, it may change in any upcoming release @@ -6352,13 +7993,13 @@ spec: properties: attachMetadata: description: |- - AttachMetadata configures additional metadata to the discovered targets. + attachMetadata defines additional metadata to the discovered targets. When the scrape object defines its own configuration, it takes precedence over the scrape class configuration. properties: node: description: |- - When set to true, Prometheus attaches node metadata to the discovered + node when set to true, Prometheus attaches node metadata to the discovered targets. The Prometheus service account must have the `list` and `watch` @@ -6367,11 +8008,11 @@ spec: type: object authorization: description: |- - Authorization section for the ScrapeClass. + authorization section for the ScrapeClass. It will only apply if the scrape resource doesn't specify any Authorization. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6393,11 +8034,11 @@ spec: type: object x-kubernetes-map-type: atomic credentialsFile: - description: File to read a secret from, mutually exclusive with `credentials`. + description: credentialsFile defines the file to read a secret from, mutually exclusive with `credentials`. type: string type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -6406,14 +8047,14 @@ spec: type: object default: description: |- - Default indicates that the scrape applies to all scrape objects that + default defines that the scrape applies to all scrape objects that don't configure an explicit scrape class name. Only one scrape class can be set as the default. type: boolean fallbackScrapeProtocol: description: |- - The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. + fallbackScrapeProtocol defines the protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. It will only apply if the scrape resource doesn't specify any FallbackScrapeProtocol It requires Prometheus >= v3.0.0. @@ -6426,7 +8067,7 @@ spec: type: string metricRelabelings: description: |- - MetricRelabelings configures the relabeling rules to apply to all samples before ingestion. + metricRelabelings defines the relabeling rules to apply to all samples before ingestion. The Operator adds the scrape class metric relabelings defined here. Then the Operator adds the target-specific metric relabelings defined in ServiceMonitors, PodMonitors, Probes and ScrapeConfigs. @@ -6443,7 +8084,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -6475,39 +8116,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -6517,12 +8158,12 @@ spec: type: object type: array name: - description: Name of the scrape class. + description: name of the scrape class. minLength: 1 type: string relabelings: description: |- - Relabelings configures the relabeling rules to apply to all scrape targets. + relabelings defines the relabeling rules to apply to all scrape targets. The Operator automatically adds relabelings for a few standard Kubernetes fields like `__meta_kubernetes_namespace` and `__meta_kubernetes_service_name`. @@ -6540,7 +8181,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -6572,39 +8213,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -6615,17 +8256,17 @@ spec: type: array tlsConfig: description: |- - TLSConfig defines the TLS settings to use for the scrape. When the + tlsConfig defines the TLS settings to use for the scrape. When the scrape objects define their own CA, certificate and/or key, they take precedence over the corresponding scrape class fields. For now only the `caFile`, `certFile` and `keyFile` fields are supported. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6647,7 +8288,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6670,13 +8311,13 @@ spec: x-kubernetes-map-type: atomic type: object caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. type: string cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6698,7 +8339,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6721,16 +8362,16 @@ spec: x-kubernetes-map-type: atomic type: object certFile: - description: Path to the client cert file in the Prometheus container for the targets. + description: certFile defines the path to the client cert file in the Prometheus container for the targets. type: string insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keyFile: - description: Path to the client key file in the Prometheus container for the targets. + description: keyFile defines the path to the client key file in the Prometheus container for the targets. type: string keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6753,7 +8394,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -6764,7 +8405,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -6774,7 +8415,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -6786,7 +8427,7 @@ spec: x-kubernetes-list-type: map scrapeClassicHistograms: description: |- - Whether to scrape a classic histogram that is also exposed as a native histogram. + scrapeClassicHistograms defines whether to scrape a classic histogram that is also exposed as a native histogram. Notice: `scrapeClassicHistograms` corresponds to the `always_scrape_classic_histograms` field in the Prometheus configuration. @@ -6794,7 +8435,7 @@ spec: type: boolean scrapeConfigNamespaceSelector: description: |- - Namespaces to match for ScrapeConfig discovery. An empty label selector + scrapeConfigNamespaceSelector defines the namespaces to match for ScrapeConfig discovery. An empty label selector matches all namespaces. A null label selector matches the current namespace only. @@ -6843,7 +8484,7 @@ spec: x-kubernetes-map-type: atomic scrapeConfigSelector: description: |- - ScrapeConfigs to be selected for target discovery. An empty label + scrapeConfigSelector defines the scrapeConfigs to be selected for target discovery. An empty label selector matches all objects. A null label selector matches no objects. If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` @@ -6900,7 +8541,7 @@ spec: x-kubernetes-map-type: atomic scrapeFailureLogFile: description: |- - File to which scrape failures are logged. + scrapeFailureLogFile defines the file to which scrape failures are logged. Reloading the configuration will reopen the file. If the filename has an empty path, e.g. 'file.log', The Prometheus Pods @@ -6913,14 +8554,19 @@ spec: scrapeInterval: default: 30s description: |- - Interval between consecutive scrapes. + scrapeInterval defines interval between consecutive scrapes. Default: "30s" pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string + scrapeNativeHistograms: + description: |- + scrapeNativeHistograms defines whether to enable scraping of native histograms. + It requires Prometheus >= v3.8.0. + type: boolean scrapeProtocols: description: |- - The protocols to negotiate during a scrape. It tells clients the + scrapeProtocols defines the protocols to negotiate during a scrape. It tells clients the protocols supported by Prometheus in order of preference (from most to least preferred). If unset, Prometheus uses its default value. @@ -6948,13 +8594,13 @@ spec: x-kubernetes-list-type: set scrapeTimeout: description: |- - Number of seconds to wait until a scrape request times out. + scrapeTimeout defines the number of seconds to wait until a scrape request times out. The value cannot be greater than the scrape interval otherwise the operator will reject the resource. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string secrets: description: |- - Secrets is a list of Secrets in the same namespace as the Prometheus + secrets defines a list of Secrets in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet definition as a volume named `secret-`. The Secrets are mounted into /etc/prometheus/secrets/ in the 'prometheus' container. @@ -6964,7 +8610,7 @@ spec: x-kubernetes-list-type: set securityContext: description: |- - SecurityContext holds pod-level security attributes and common container settings. + securityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext. properties: appArmorProfile: @@ -7193,12 +8839,12 @@ spec: type: object serviceAccountName: description: |- - ServiceAccountName is the name of the ServiceAccount to use to run the + serviceAccountName is the name of the ServiceAccount to use to run the Prometheus Pods. type: string serviceDiscoveryRole: description: |- - Defines the service discovery role used to discover targets from + serviceDiscoveryRole defines the service discovery role used to discover targets from `ServiceMonitor` objects and Alertmanager endpoints. If set, the value should be either "Endpoints" or "EndpointSlice". @@ -7209,7 +8855,7 @@ spec: type: string serviceMonitorNamespaceSelector: description: |- - Namespaces to match for ServicedMonitors discovery. An empty label selector + serviceMonitorNamespaceSelector defines the namespaces to match for ServicedMonitors discovery. An empty label selector matches all namespaces. A null label selector (default value) matches the current namespace only. properties: @@ -7256,7 +8902,7 @@ spec: x-kubernetes-map-type: atomic serviceMonitorSelector: description: |- - ServiceMonitors to be selected for target discovery. An empty label + serviceMonitorSelector defines the serviceMonitors to be selected for target discovery. An empty label selector matches all objects. A null label selector matches no objects. If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` @@ -7311,7 +8957,7 @@ spec: x-kubernetes-map-type: atomic serviceName: description: |- - The name of the service name used by the underlying StatefulSet(s) as the governing service. + serviceName defines the name of the service name used by the underlying StatefulSet(s) as the governing service. If defined, the Service must be created before the Prometheus/PrometheusAgent resource in the same namespace and it must define a selector that matches the pod labels. If empty, the operator will create and manage a headless service named `prometheus-operated` for Prometheus resources, or `prometheus-agent-operated` for PrometheusAgent resources. @@ -7319,9 +8965,45 @@ spec: See https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-network-id for more details. minLength: 1 type: string + sha: + description: 'sha is deprecated: use ''spec.image'' instead. The image''s digest can be specified as part of the image name.' + type: string + shardRetentionPolicy: + description: |- + shardRetentionPolicy defines the retention policy for the Prometheus shards. + (Alpha) Using this field requires the 'PrometheusShardRetentionPolicy' feature gate to be enabled. + + The final goals for this feature can be seen at https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/proposals/202310-shard-autoscaling.md#graceful-scale-down-of-prometheus-servers, + however, the feature is not yet fully implemented in this PR. The limitation being: + * Retention duration is not settable, for now, shards are retained forever. + properties: + retain: + description: |- + retain defines the config for retention when the retention policy is set to `Retain`. + This field is ineffective as of now. + properties: + retentionPeriod: + description: retentionPeriod defines the retentionPeriod for shard retention policy. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string + required: + - retentionPeriod + type: object + whenScaled: + description: |- + whenScaled defines the retention policy when the Prometheus shards are scaled down. + * `Delete`, the operator will delete the pods from the scaled-down shard(s). + * `Retain`, the operator will keep the pods from the scaled-down shard(s), so the data can still be queried. + + If not defined, the operator assumes the `Delete` value. + enum: + - Retain + - Delete + type: string + type: object shards: description: |- - Number of shards to distribute the scraped targets onto. + shards defines the number of shards to distribute the scraped targets onto. `spec.replicas` multiplied by `spec.shards` is the total number of Pods being created. @@ -7350,14 +9032,14 @@ spec: format: int32 type: integer storage: - description: Storage defines the storage used by Prometheus. + description: storage defines the storage used by Prometheus. properties: disableMountSubPath: - description: 'Deprecated: subPath usage will be removed in a future release.' + description: 'disableMountSubPath deprecated: subPath usage will be removed in a future release.' type: boolean emptyDir: description: |- - EmptyDirVolumeSource to be used by the StatefulSet. + emptyDir to be used by the StatefulSet. If specified, it takes precedence over `ephemeral` and `volumeClaimTemplate`. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir properties: @@ -7384,7 +9066,7 @@ spec: type: object ephemeral: description: |- - EphemeralVolumeSource to be used by the StatefulSet. + ephemeral to be used by the StatefulSet. This is a beta field in k8s 1.21 and GA in 1.15. For lower versions, starting with k8s 1.19, it requires enabling the GenericEphemeralVolume feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes @@ -7620,7 +9302,7 @@ spec: type: object volumeClaimTemplate: description: |- - Defines the PVC spec to be used by the Prometheus StatefulSets. + volumeClaimTemplate defines the PVC spec to be used by the Prometheus StatefulSets. The easiest way to use a volume that cannot be automatically provisioned is to use a label selector alongside manually created PersistentVolumes. properties: @@ -7640,13 +9322,13 @@ spec: More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: - description: EmbeddedMetadata contains metadata relevant to an EmbeddedResource. + description: metadata defines EmbeddedMetadata contains metadata relevant to an EmbeddedResource. properties: annotations: additionalProperties: type: string description: |- - Annotations is an unstructured key value map stored with a resource that may be + annotations defines 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/ @@ -7655,14 +9337,14 @@ spec: additionalProperties: type: string description: |- - Map of string keys and values that can be used to organize and categorize + labels define the 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 name: description: |- - Name must be unique within a namespace. Is required when creating resources, although + 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. @@ -7672,7 +9354,7 @@ spec: type: object spec: description: |- - Defines the desired characteristics of a volume requested by a pod author. + spec defines the specification of the characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: @@ -7864,7 +9546,7 @@ spec: type: string type: object status: - description: 'Deprecated: this field is never set.' + description: 'status is deprecated: this field is never set.' properties: accessModes: description: |- @@ -7902,95 +9584,585 @@ spec: x-kubernetes-int-or-string: true description: capacity represents the actual resources of the underlying volume. type: object - conditions: - description: |- - conditions is the current Condition of persistent volume claim. If underlying persistent volume is being - resized then the Condition will be set to 'Resizing'. - items: - description: PersistentVolumeClaimCondition contains details about state of pvc - properties: - lastProbeTime: - description: lastProbeTime is the time we probed the condition. - format: date-time - type: string - lastTransitionTime: - description: lastTransitionTime is the time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: message is the human-readable message indicating details about last transition. - type: string - reason: - description: |- - reason is a unique, this should be a short, machine understandable string that gives the reason - for condition's last transition. If it reports "Resizing" that means the underlying - persistent volume is being resized. - type: string - status: - description: |- - Status is the status of the condition. - Can be True, False, Unknown. - More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=state%20of%20pvc-,conditions.status,-(string)%2C%20required - type: string - type: - description: |- - Type is the type of the condition. - More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=set%20to%20%27ResizeStarted%27.-,PersistentVolumeClaimCondition,-contains%20details%20about - type: string - required: - - status - - type - type: object - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - currentVolumeAttributesClassName: - description: |- - currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. - When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim - type: string - modifyVolumeStatus: - description: |- - ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. - When this is unset, there is no ModifyVolume operation being attempted. + conditions: + description: |- + conditions is the current Condition of persistent volume claim. If underlying persistent volume is being + resized then the Condition will be set to 'Resizing'. + items: + description: PersistentVolumeClaimCondition contains details about state of pvc + properties: + lastProbeTime: + description: lastProbeTime is the time we probed the condition. + format: date-time + type: string + lastTransitionTime: + description: lastTransitionTime is the time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: message is the human-readable message indicating details about last transition. + type: string + reason: + description: |- + reason is a unique, this should be a short, machine understandable string that gives the reason + for condition's last transition. If it reports "Resizing" that means the underlying + persistent volume is being resized. + type: string + status: + description: |- + Status is the status of the condition. + Can be True, False, Unknown. + More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=state%20of%20pvc-,conditions.status,-(string)%2C%20required + type: string + type: + description: |- + Type is the type of the condition. + More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=set%20to%20%27ResizeStarted%27.-,PersistentVolumeClaimCondition,-contains%20details%20about + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + description: |- + currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. + When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim + type: string + modifyVolumeStatus: + description: |- + ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. + When this is unset, there is no ModifyVolume operation being attempted. + properties: + status: + description: "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n the specified VolumeAttributesClass not existing.\n - InProgress\n InProgress indicates that the volume is being modified.\n - Infeasible\n Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately." + type: string + targetVolumeAttributesClassName: + description: targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled + type: string + required: + - status + type: object + phase: + description: phase represents the current phase of PersistentVolumeClaim. + type: string + type: object + type: object + type: object + tag: + description: 'tag is deprecated: use ''spec.image'' instead. The image''s tag can be specified as part of the image name.' + type: string + targetLimit: + description: |- + targetLimit defines a limit on the number of scraped targets that will be accepted. + Only valid in Prometheus versions 2.45.0 and newer. + + Note that the global limit only applies to scrape objects that don't specify an explicit limit value. + If you want to enforce a maximum limit for all scrape objects, refer to enforcedTargetLimit. + format: int64 + type: integer + terminationGracePeriodSeconds: + description: |- + terminationGracePeriodSeconds defines the optional duration in seconds the pod needs to terminate gracefully. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down) which may lead to data corruption. + + Defaults to 600 seconds. + format: int64 + minimum: 0 + type: integer + thanos: + description: thanos defines the configuration of the optional Thanos sidecar. + properties: + additionalArgs: + description: |- + additionalArgs allows setting additional arguments for the Thanos container. + The arguments are passed as-is to the Thanos container which may cause issues + if they are invalid or not supported the given Thanos version. + In case of an argument conflict (e.g. an argument which is already set by the + operator itself) or when providing an invalid argument, the reconciliation will + fail and an error will be logged. + items: + description: Argument as part of the AdditionalArgs list. + properties: + name: + description: name of the argument, e.g. "scrape.discovery-reload-interval". + minLength: 1 + type: string + value: + description: value defines the argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) + type: string + required: + - name + type: object + type: array + baseImage: + description: 'baseImage is deprecated: use ''image'' instead.' + type: string + blockSize: + default: 2h + description: |- + blockSize controls the size of TSDB blocks produced by Prometheus. + The default value is 2h to match the upstream Prometheus defaults. + + WARNING: Changing the block duration can impact the performance and + efficiency of the entire Prometheus/Thanos stack due to how it interacts + with memory and Thanos compactors. It is recommended to keep this value + set to a multiple of 120 times your longest scrape or rule interval. For + example, 30s * 120 = 1h. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string + getConfigInterval: + description: getConfigInterval defines how often to retrieve the Prometheus configuration. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string + getConfigTimeout: + description: getConfigTimeout defines the maximum time to wait when retrieving the Prometheus configuration. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string + grpcListenLocal: + description: |- + grpcListenLocal defines when true, the Thanos sidecar listens on the loopback interface instead + of the Pod IP's address for the gRPC endpoints. + + It has no effect if `listenLocal` is true. + type: boolean + grpcServerTlsConfig: + description: |- + grpcServerTlsConfig defines the TLS parameters for the gRPC server providing the StoreAPI. + + Note: Currently only the `caFile`, `certFile`, and `keyFile` fields are supported. + properties: + ca: + description: ca defines the Certificate authority used when verifying server certificates. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. + type: string + cert: + description: cert defines the Client certificate to present when doing client-authentication. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. properties: - status: - description: "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n the specified VolumeAttributesClass not existing.\n - InProgress\n InProgress indicates that the volume is being modified.\n - Infeasible\n Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately." + key: + description: The key of the secret to select from. Must be a valid secret key. type: string - targetVolumeAttributesClassName: - description: targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean required: - - status + - key type: object - phase: - description: phase represents the current phase of PersistentVolumeClaim. + x-kubernetes-map-type: atomic + type: object + certFile: + description: certFile defines the path to the client cert file in the Prometheus container for the targets. + type: string + insecureSkipVerify: + description: insecureSkipVerify defines how to disable target certificate validation. + type: boolean + keyFile: + description: keyFile defines the path to the client key file in the Prometheus container for the targets. + type: string + keySecret: + description: keySecret defines the Secret containing the client key file for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key type: object + x-kubernetes-map-type: atomic + maxVersion: + description: |- + maxVersion defines the maximum acceptable TLS version. + + It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + minVersion: + description: |- + minVersion defines the minimum acceptable TLS version. + + It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + serverName: + description: serverName is used to verify the hostname for the targets. + type: string type: object - type: object - targetLimit: - description: |- - TargetLimit defines a limit on the number of scraped targets that will be accepted. - Only valid in Prometheus versions 2.45.0 and newer. + httpListenLocal: + description: |- + httpListenLocal when true, the Thanos sidecar listens on the loopback interface instead + of the Pod IP's address for the HTTP endpoints. - Note that the global limit only applies to scrape objects that don't specify an explicit limit value. - If you want to enforce a maximum limit for all scrape objects, refer to enforcedTargetLimit. - format: int64 - type: integer - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down) which may lead to data corruption. + It has no effect if `listenLocal` is true. + type: boolean + image: + description: |- + image defines the container image name for Thanos. If specified, it takes precedence over + the `spec.thanos.baseImage`, `spec.thanos.tag` and `spec.thanos.sha` + fields. - Defaults to 600 seconds. - format: int64 - minimum: 0 - type: integer + Specifying `spec.thanos.version` is still necessary to ensure the + Prometheus Operator knows which version of Thanos is being configured. + + If neither `spec.thanos.image` nor `spec.thanos.baseImage` are defined, + the operator will use the latest upstream version of Thanos available at + the time when the operator was released. + type: string + listenLocal: + description: 'listenLocal is deprecated: use `grpcListenLocal` and `httpListenLocal` instead.' + type: boolean + logFormat: + description: logFormat for the Thanos sidecar. + enum: + - "" + - logfmt + - json + type: string + logLevel: + description: logLevel for the Thanos sidecar. + enum: + - "" + - debug + - info + - warn + - error + type: string + minTime: + description: |- + minTime defines the start of time range limit served by the Thanos sidecar's StoreAPI. + The field's value should be a constant time in RFC3339 format or a time + duration relative to current time, such as -1d or 2h45m. Valid duration + units are ms, s, m, h, d, w, y. + type: string + objectStorageConfig: + description: |- + objectStorageConfig defines the Thanos sidecar's configuration to upload TSDB blocks to object storage. + + More info: https://thanos.io/tip/thanos/storage.md/ + + objectStorageConfigFile takes precedence over this field. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + objectStorageConfigFile: + description: |- + objectStorageConfigFile defines the Thanos sidecar's configuration file to upload TSDB blocks to object storage. + + More info: https://thanos.io/tip/thanos/storage.md/ + + This field takes precedence over objectStorageConfig. + type: string + readyTimeout: + description: |- + readyTimeout defines the maximum time that the Thanos sidecar will wait for + Prometheus to start. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string + resources: + description: resources defines the resources requests and limits of the Thanos sidecar. + properties: + claims: + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + This field depends on the + DynamicResourceAllocation feature gate. + + This field is immutable. It can only be set for containers. + items: + description: ResourceClaim references one entry in PodSpec.ResourceClaims. + properties: + name: + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. + type: string + request: + description: |- + Request is the name chosen for a request in the referenced claim. + If empty, everything from the claim is made available, otherwise + only the result of this request. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + 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 + type: object + sha: + description: 'sha is deprecated: use ''image'' instead. The image digest can be specified as part of the image name.' + type: string + tag: + description: 'tag is deprecated: use ''image'' instead. The image''s tag can be specified as as part of the image name.' + type: string + tracingConfig: + description: |- + tracingConfig defines the tracing configuration for the Thanos sidecar. + + `tracingConfigFile` takes precedence over this field. + + More info: https://thanos.io/tip/thanos/tracing.md/ + + This is an *experimental feature*, it may change in any upcoming release + in a breaking way. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + tracingConfigFile: + description: |- + tracingConfigFile defines the tracing configuration file for the Thanos sidecar. + + This field takes precedence over `tracingConfig`. + + More info: https://thanos.io/tip/thanos/tracing.md/ + + This is an *experimental feature*, it may change in any upcoming release + in a breaking way. + type: string + version: + description: |- + version of Thanos being deployed. The operator uses this information + to generate the Prometheus StatefulSet + configuration files. + + If not specified, the operator assumes the latest upstream release of + Thanos available at the time when the version of the operator was + released. + type: string + volumeMounts: + description: |- + volumeMounts allows configuration of additional VolumeMounts for Thanos. + VolumeMounts specified will be appended to other VolumeMounts in the + 'thanos-sidecar' container. + 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 + 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 + recursiveReadOnly: + description: |- + RecursiveReadOnly specifies whether read-only mounts should be handled + recursively. + + If ReadOnly is false, this field has no meaning and must be unspecified. + + If 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 recursively read-only if it is + supported by the container runtime, otherwise the pod will not be started and + an error will be generated to indicate the reason. + + If this field is set to IfPossible or Enabled, MountPropagation must be set to + None (or be unspecified, which defaults to None). + + If this field is not specified, it is treated as an equivalent of Disabled. + type: string + subPath: + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). + type: string + 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 + required: + - mountPath + - name + type: object + type: array + type: object tolerations: - description: Defines the Pods' tolerations if specified. + description: tolerations defines the Pods' tolerations if specified. items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -8029,11 +10201,11 @@ spec: type: object type: array topologySpreadConstraints: - description: Defines the pod's topology spread constraints if specified. + description: topologySpreadConstraints defines the pod's topology spread constraints if specified. items: properties: additionalLabelSelectors: - description: Defines what Prometheus Operator managed labels should be added to labelSelector on the topologySpreadConstraint. + description: additionalLabelSelectors Defines what Prometheus Operator managed labels should be added to labelSelector on the topologySpreadConstraint. enum: - OnResource - OnShard @@ -8206,53 +10378,56 @@ spec: type: array tracingConfig: description: |- - TracingConfig configures tracing in Prometheus. + tracingConfig defines tracing in Prometheus. This is an *experimental feature*, it may change in any upcoming release in a breaking way. properties: clientType: - description: Client used to export the traces. Supported values are `http` or `grpc`. + description: clientType defines the client used to export the traces. Supported values are `HTTP` and `GRPC`. enum: - http - grpc + - HTTP + - GRPC type: string compression: - description: Compression key for supported compression types. The only supported value is `gzip`. + description: compression key for supported compression types. The only supported value is `Gzip`. enum: - gzip + - Gzip type: string endpoint: - description: Endpoint to send the traces to. Should be provided in format :. + description: endpoint to send the traces to. Should be provided in format :. minLength: 1 type: string headers: additionalProperties: type: string - description: Key-value pairs to be used as headers associated with gRPC or HTTP requests. + description: headers defines the key-value pairs to be used as headers associated with gRPC or HTTP requests. type: object insecure: - description: If disabled, the client will use a secure connection. + description: insecure if disabled, the client will use a secure connection. type: boolean samplingFraction: anyOf: - type: integer - type: string - description: Sets the probability a given trace will be sampled. Must be a float from 0 through 1. + description: samplingFraction defines the probability a given trace will be sampled. Must be a float from 0 through 1. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true timeout: - description: Maximum time the exporter will wait for each batch export. + description: timeout defines the maximum time the exporter will wait for each batch export. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string tlsConfig: - description: TLS Config to use when sending traces. + description: tlsConfig to use when sending traces. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8274,7 +10449,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8297,13 +10472,13 @@ spec: x-kubernetes-map-type: atomic type: object caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. type: string cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8325,7 +10500,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8348,16 +10523,16 @@ spec: x-kubernetes-map-type: atomic type: object certFile: - description: Path to the client cert file in the Prometheus container for the targets. + description: certFile defines the path to the client cert file in the Prometheus container for the targets. type: string insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keyFile: - description: Path to the client key file in the Prometheus container for the targets. + description: keyFile defines the path to the client key file in the Prometheus container for the targets. type: string keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8380,7 +10555,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -8391,7 +10566,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -8401,7 +10576,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -8409,12 +10584,12 @@ spec: type: object tsdb: description: |- - Defines the runtime reloadable configuration of the timeseries database(TSDB). + tsdb defines the runtime reloadable configuration of the timeseries database(TSDB). It requires Prometheus >= v2.39.0 or PrometheusAgent >= v2.54.0. properties: outOfOrderTimeWindow: description: |- - Configures how old an out-of-order/out-of-bounds sample can be with + outOfOrderTimeWindow defines how old an out-of-order/out-of-bounds sample can be with respect to the TSDB max time. An out-of-order/out-of-bounds sample is ingested into the TSDB as long as @@ -8429,7 +10604,7 @@ spec: type: object version: description: |- - Version of Prometheus being deployed. The operator uses this information + version of Prometheus being deployed. The operator uses this information to generate the Prometheus StatefulSet + configuration files. If not specified, the operator assumes the latest upstream version of @@ -8438,7 +10613,7 @@ spec: type: string volumeMounts: description: |- - VolumeMounts allows the configuration of additional VolumeMounts. + volumeMounts allows the configuration of additional VolumeMounts. VolumeMounts will be appended to other VolumeMounts in the 'prometheus' container, that are generated as a result of StorageSpec objects. @@ -8505,7 +10680,7 @@ spec: type: array volumes: description: |- - Volumes allows the configuration of additional volumes on the output + volumes allows the configuration of additional volumes on the output StatefulSet definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects. items: @@ -10306,29 +12481,29 @@ spec: type: array walCompression: description: |- - Configures compression of the write-ahead log (WAL) using Snappy. + walCompression defines the compression of the write-ahead log (WAL) using Snappy. WAL compression is enabled by default for Prometheus >= 2.20.0 Requires Prometheus v2.11.0 and above. type: boolean web: - description: Defines the configuration of the Prometheus web server. + description: web defines the configuration of the Prometheus web server. properties: httpConfig: - description: Defines HTTP parameters for web server. + description: httpConfig defines HTTP parameters for web server. properties: headers: - description: List of headers that can be added to HTTP responses. + description: headers defines a list of headers that can be added to HTTP responses. properties: contentSecurityPolicy: description: |- - Set the Content-Security-Policy header to HTTP responses. + contentSecurityPolicy defines the Content-Security-Policy header to HTTP responses. Unset if blank. type: string strictTransportSecurity: description: |- - Set the Strict-Transport-Security header to HTTP responses. + strictTransportSecurity defines the Strict-Transport-Security header to HTTP responses. Unset if blank. Please make sure that you use this with care as this header might force browsers to load Prometheus and the other applications hosted on the same @@ -10337,7 +12512,7 @@ spec: type: string xContentTypeOptions: description: |- - Set the X-Content-Type-Options header to HTTP responses. + xContentTypeOptions defines the X-Content-Type-Options header to HTTP responses. Unset if blank. Accepted value is nosniff. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options enum: @@ -10346,7 +12521,7 @@ spec: type: string xFrameOptions: description: |- - Set the X-Frame-Options header to HTTP responses. + xFrameOptions defines the X-Frame-Options header to HTTP responses. Unset if blank. Accepted values are deny and sameorigin. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options enum: @@ -10356,41 +12531,41 @@ spec: type: string xXSSProtection: description: |- - Set the X-XSS-Protection header to all responses. + xXSSProtection defines the X-XSS-Protection header to all responses. Unset if blank. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection type: string type: object http2: description: |- - Enable HTTP/2 support. Note that HTTP/2 is only supported with TLS. + http2 enable HTTP/2 support. Note that HTTP/2 is only supported with TLS. When TLSConfig is not configured, HTTP/2 will be disabled. Whenever the value of the field changes, a rolling update will be triggered. type: boolean type: object maxConnections: description: |- - Defines the maximum number of simultaneous connections + maxConnections defines the maximum number of simultaneous connections A zero value means that Prometheus doesn't accept any incoming connection. format: int32 minimum: 0 type: integer pageTitle: - description: The prometheus web page title. + description: pageTitle defines the prometheus web page title. type: string tlsConfig: - description: Defines the TLS parameters for HTTPS. + description: tlsConfig defines the TLS parameters for HTTPS. properties: cert: description: |- - Secret or ConfigMap containing the TLS certificate for the web server. + cert defines the Secret or ConfigMap containing the TLS certificate for the web server. Either `keySecret` or `keyFile` must be defined. It is mutually exclusive with `certFile`. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10412,7 +12587,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10436,7 +12611,7 @@ spec: type: object certFile: description: |- - Path to the TLS certificate file in the container for the web server. + certFile defines the path to the TLS certificate file in the container for the web server. Either `keySecret` or `keyFile` must be defined. @@ -10444,7 +12619,7 @@ spec: type: string cipherSuites: description: |- - List of supported cipher suites for TLS versions up to TLS 1.2. + cipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. If not defined, the Go default cipher suites are used. Available cipher suites are documented in the Go documentation: @@ -10454,13 +12629,13 @@ spec: type: array client_ca: description: |- - Secret or ConfigMap containing the CA certificate for client certificate + client_ca defines the Secret or ConfigMap containing the CA certificate for client certificate authentication to the server. It is mutually exclusive with `clientCAFile`. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10482,7 +12657,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10506,21 +12681,21 @@ spec: type: object clientAuthType: description: |- - The server policy for client TLS authentication. + clientAuthType defines the server policy for client TLS authentication. For more detail on clientAuth options: https://golang.org/pkg/crypto/tls/#ClientAuthType type: string clientCAFile: description: |- - Path to the CA certificate file for client certificate authentication to + clientCAFile defines the path to the CA certificate file for client certificate authentication to the server. It is mutually exclusive with `client_ca`. type: string curvePreferences: description: |- - Elliptic curves that will be used in an ECDHE handshake, in preference + curvePreferences defines elliptic curves that will be used in an ECDHE handshake, in preference order. Available curves are documented in the Go documentation: @@ -10530,7 +12705,7 @@ spec: type: array keyFile: description: |- - Path to the TLS private key file in the container for the web server. + keyFile defines the path to the TLS private key file in the container for the web server. If defined, either `cert` or `certFile` must be defined. @@ -10538,7 +12713,7 @@ spec: type: string keySecret: description: |- - Secret containing the TLS private key for the web server. + keySecret defines the secret containing the TLS private key for the web server. Either `cert` or `certFile` must be defined. @@ -10564,14 +12739,14 @@ spec: type: object x-kubernetes-map-type: atomic maxVersion: - description: Maximum TLS version that is acceptable. + description: maxVersion defines the Maximum TLS version that is acceptable. type: string minVersion: - description: Minimum TLS version that is acceptable. + description: minVersion defines the minimum TLS version that is acceptable. type: string preferServerCipherSuites: description: |- - Controls whether the server selects the client's most preferred cipher + preferServerCipherSuites defines whether the server selects the client's most preferred cipher suite, or the server's most preferred cipher suite. If true then the server's preference, as expressed in @@ -10580,33 +12755,20 @@ spec: type: object type: object type: object - x-kubernetes-validations: - - message: replicas cannot be set when mode is DaemonSet - rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.replicas))' - - message: storage cannot be set when mode is DaemonSet - rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.storage))' - - message: shards cannot be greater than 1 when mode is DaemonSet - rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.shards) && self.shards > 1)' - - message: persistentVolumeClaimRetentionPolicy cannot be set when mode is DaemonSet - rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.persistentVolumeClaimRetentionPolicy))' - - message: scrapeConfigSelector cannot be set when mode is DaemonSet - rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.scrapeConfigSelector))' - - message: probeSelector cannot be set when mode is DaemonSet - rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.probeSelector))' status: description: |- - Most recent observed status of the Prometheus cluster. Read-only. + status defines the most recent observed status of the Prometheus cluster. Read-only. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: availableReplicas: description: |- - Total number of available pods (ready for at least minReadySeconds) + availableReplicas defines the total number of available pods (ready for at least minReadySeconds) targeted by this Prometheus deployment. format: int32 type: integer conditions: - description: The current state of the Prometheus deployment. + description: conditions defines the current state of the Prometheus deployment. items: description: |- Condition represents the state of the resources associated with the @@ -10617,11 +12779,11 @@ spec: format: date-time type: string message: - description: Human-readable message indicating details for the condition's last transition. + description: message defines human-readable message indicating details for the condition's last transition. type: string observedGeneration: description: |- - ObservedGeneration represents the .metadata.generation that the + observedGeneration defines the .metadata.generation that the condition was set based upon. For instance, if `.metadata.generation` is currently 12, but the `.status.conditions[].observedGeneration` is 9, the condition is out of date with respect to the current state of the @@ -10629,14 +12791,14 @@ spec: format: int64 type: integer reason: - description: Reason for the condition's last transition. + description: reason for the condition's last transition. type: string status: - description: Status of the condition. + description: status of the condition. minLength: 1 type: string type: - description: Type of the condition being reported. + description: type of the condition being reported. minLength: 1 type: string required: @@ -10650,42 +12812,42 @@ spec: x-kubernetes-list-type: map paused: description: |- - Represents whether any actions on the underlying managed objects are + paused defines whether any actions on the underlying managed objects are being performed. Only delete actions will be performed. type: boolean replicas: description: |- - Total number of non-terminated pods targeted by this Prometheus deployment + replicas defines the total number of non-terminated pods targeted by this Prometheus deployment (their labels match the selector). format: int32 type: integer selector: - description: The selector used to match the pods targeted by this Prometheus resource. + description: selector used to match the pods targeted by this Prometheus resource. type: string shardStatuses: - description: The list has one entry per shard. Each entry provides a summary of the shard status. + description: shardStatuses defines the list has one entry per shard. Each entry provides a summary of the shard status. items: properties: availableReplicas: description: |- - Total number of available pods (ready for at least minReadySeconds) + availableReplicas defines the total number of available pods (ready for at least minReadySeconds) targeted by this shard. format: int32 type: integer replicas: - description: Total number of pods targeted by this shard. + description: replicas defines the total number of pods targeted by this shard. format: int32 type: integer shardID: - description: Identifier of the shard. + description: shardID defines the identifier of the shard. type: string unavailableReplicas: - description: Total number of unavailable pods targeted by this shard. + description: unavailableReplicas defines the Total number of unavailable pods targeted by this shard. format: int32 type: integer updatedReplicas: description: |- - Total number of non-terminated pods targeted by this shard + updatedReplicas defines the total number of non-terminated pods targeted by this shard that have the desired spec. format: int32 type: integer @@ -10701,25 +12863,19 @@ spec: - shardID x-kubernetes-list-type: map shards: - description: Shards is the most recently observed number of shards. + description: shards defines the most recently observed number of shards. format: int32 type: integer unavailableReplicas: - description: Total number of unavailable pods targeted by this Prometheus deployment. + description: unavailableReplicas defines the total number of unavailable pods targeted by this Prometheus deployment. format: int32 type: integer updatedReplicas: description: |- - Total number of non-terminated pods targeted by this Prometheus deployment + updatedReplicas defines the total number of non-terminated pods targeted by this Prometheus deployment that have the desired version spec. format: int32 type: integer - required: - - availableReplicas - - paused - - replicas - - unavailableReplicas - - updatedReplicas type: object required: - spec diff --git a/modules/observability/prometheus-operator/base/crds/prometheuses.monitoring.coreos.com.yaml b/modules/observability/prometheus-operator/base/crds/prometheuses.monitoring.coreos.com.yaml index 41c81b21..8bef864b 100644 --- a/modules/observability/prometheus-operator/base/crds/prometheuses.monitoring.coreos.com.yaml +++ b/modules/observability/prometheus-operator/base/crds/prometheuses.monitoring.coreos.com.yaml @@ -3,24 +3,24 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 - operator.prometheus.io/version: 0.85.0 - name: prometheuses.monitoring.coreos.com + controller-gen.kubebuilder.io/version: v0.19.0 + operator.prometheus.io/version: 0.87.1 + name: prometheusagents.monitoring.coreos.com spec: group: monitoring.coreos.com names: categories: - prometheus-operator - kind: Prometheus - listKind: PrometheusList - plural: prometheuses + kind: PrometheusAgent + listKind: PrometheusAgentList + plural: prometheusagents shortNames: - - prom - singular: prometheus + - promagent + singular: prometheusagent scope: Namespaced versions: - additionalPrinterColumns: - - description: The version of Prometheus + - description: The version of Prometheus agent jsonPath: .spec.version name: Version type: string @@ -46,17 +46,13 @@ spec: name: Paused priority: 1 type: boolean - name: v1 + name: v1alpha1 schema: openAPIV3Schema: description: |- - The `Prometheus` custom resource definition (CRD) defines a desired [Prometheus](https://prometheus.io/docs/prometheus) setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, persistent storage, and Alertmanagers where firing alerts should be sent and many more. + The `PrometheusAgent` custom resource definition (CRD) defines a desired [Prometheus Agent](https://prometheus.io/blog/2021/11/16/agent/) setup to run in a Kubernetes cluster. - For each `Prometheus` resource, the Operator deploys one or several `StatefulSet` objects in the same namespace. The number of StatefulSets is equal to the number of shards which is 1 by default. - - The resource defines via label and namespace selectors which `ServiceMonitor`, `PodMonitor`, `Probe` and `PrometheusRule` objects should be associated to the deployed Prometheus instances. - - The Operator continuously reconciles the scrape and rules configuration and a sidecar container running in the Prometheus pods triggers a reload of the configuration when needed. + The CRD is very similar to the `Prometheus` CRD except for features which aren't available in agent mode like rule evaluation, persistent storage and Thanos sidecar. properties: apiVersion: description: |- @@ -77,84 +73,12 @@ spec: type: object spec: description: |- - Specification of the desired behavior of the Prometheus cluster. More info: + spec defines the specification of the desired behavior of the Prometheus agent. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: - additionalAlertManagerConfigs: - description: |- - AdditionalAlertManagerConfigs specifies a key of a Secret containing - additional Prometheus Alertmanager configurations. The Alertmanager - configurations are appended to the configuration generated by the - Prometheus Operator. They must be formatted according to the official - Prometheus documentation: - - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config - - The user is responsible for making sure that the configurations are valid - - Note that using this feature may expose the possibility to break - upgrades of Prometheus. It is advised to review Prometheus release notes - to ensure that no incompatible AlertManager configs are going to break - Prometheus after the upgrade. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - additionalAlertRelabelConfigs: - description: |- - AdditionalAlertRelabelConfigs specifies a key of a Secret containing - additional Prometheus alert relabel configurations. The alert relabel - configurations are appended to the configuration generated by the - Prometheus Operator. They must be formatted according to the official - Prometheus documentation: - - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs - - The user is responsible for making sure that the configurations are valid - - Note that using this feature may expose the possibility to break - upgrades of Prometheus. It is advised to review Prometheus release notes - to ensure that no incompatible alert relabel configs are going to break - Prometheus after the upgrade. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic additionalArgs: description: |- - AdditionalArgs allows setting additional arguments for the 'prometheus' container. + additionalArgs allows setting additional arguments for the 'prometheus' container. It is intended for e.g. activating hidden flags which are not supported by the dedicated configuration options yet. The arguments are passed as-is to the @@ -168,11 +92,11 @@ spec: description: Argument as part of the AdditionalArgs list. properties: name: - description: Name of the argument, e.g. "scrape.discovery-reload-interval". + description: name of the argument, e.g. "scrape.discovery-reload-interval". minLength: 1 type: string value: - description: Argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) + description: value defines the argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) type: string required: - name @@ -180,7 +104,7 @@ spec: type: array additionalScrapeConfigs: description: |- - AdditionalScrapeConfigs allows specifying a key of a Secret containing + additionalScrapeConfigs allows specifying a key of a Secret containing additional Prometheus scrape configurations. Scrape configurations specified are appended to the configurations generated by the Prometheus Operator. Job configurations specified must have the form as specified @@ -212,7 +136,7 @@ spec: type: object x-kubernetes-map-type: atomic affinity: - description: Defines the Pods' affinity scheduling rules if specified. + description: affinity defines the Pods' affinity scheduling rules if specified. properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. @@ -1084,858 +1008,603 @@ spec: x-kubernetes-list-type: atomic type: object type: object - alerting: - description: Defines the settings related to Alertmanager. + apiserverConfig: + description: |- + apiserverConfig allows specifying a host and auth methods to access the + Kuberntees API server. + If null, Prometheus is assumed to run inside of the cluster: it will + discover the API servers automatically and use the Pod's CA certificate + and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. properties: - alertmanagers: - description: Alertmanager endpoints where Prometheus should send alerts to. - items: - description: |- - AlertmanagerEndpoints defines a selection of a single Endpoints object - containing Alertmanager IPs to fire alerts against. - properties: - alertRelabelings: - description: |- - Relabeling configs applied before sending alerts to a specific Alertmanager. - It requires Prometheus >= v2.51.0. - items: - description: |- - RelabelConfig allows dynamic rewriting of the label set for targets, alerts, - scraped samples and remote write samples. + authorization: + description: |- + authorization section for the API server. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config - properties: - action: - default: replace - description: |- - Action to perform based on the regex matching. - - `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. - `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. - - Default: "Replace" - enum: - - replace - - Replace - - keep - - Keep - - drop - - Drop - - hashmod - - HashMod - - labelmap - - LabelMap - - labeldrop - - LabelDrop - - labelkeep - - LabelKeep - - lowercase - - Lowercase - - uppercase - - Uppercase - - keepequal - - KeepEqual - - dropequal - - DropEqual - type: string - modulus: - description: |- - Modulus to take of the hash of the source label values. + Cannot be set at the same time as `basicAuth`, `bearerToken`, or + `bearerTokenFile`. + properties: + credentials: + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + credentialsFile: + description: credentialsFile defines the file to read a secret from, mutually exclusive with `credentials`. + type: string + type: + description: |- + type defines the authentication type. The value is case-insensitive. - Only applicable when the action is `HashMod`. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted value is matched. - type: string - replacement: - description: |- - Replacement value against which a Replace action is performed if the - regular expression matches. + "Basic" is not a supported value. - Regex capture groups are available. - type: string - separator: - description: Separator is the string between concatenated SourceLabels. - type: string - sourceLabels: - description: |- - The source labels select values from existing labels. Their content is - concatenated using the configured Separator and matched against the - configured regular expression. - items: - description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ - type: string - type: array - targetLabel: - description: |- - Label to which the resulting string is written in a replacement. + Default: "Bearer" + type: string + type: object + basicAuth: + description: |- + basicAuth configuration for the API server. - It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, - `KeepEqual` and `DropEqual` actions. + Cannot be set at the same time as `authorization`, `bearerToken`, or + `bearerTokenFile`. + properties: + password: + description: |- + password defines a key of a Secret containing the password for + authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + description: |- + username defines a key of a Secret containing the username for + authentication. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearerToken: + description: |- + bearerToken is deprecated: this will be removed in a future release. + *Warning: this field shouldn't be used because the token value appears + in clear-text. Prefer using `authorization`.* + type: string + bearerTokenFile: + description: |- + bearerTokenFile defines the file to read bearer token for accessing apiserver. - Regex capture groups are available. - type: string - type: object - type: array - apiVersion: - description: |- - Version of the Alertmanager API that Prometheus uses to send alerts. - It can be "V1" or "V2". - The field has no effect for Prometheus >= v3.0.0 because only the v2 API is supported. - enum: - - v1 - - V1 - - v2 - - V2 - type: string - authorization: - description: |- - Authorization section for Alertmanager. + Cannot be set at the same time as `basicAuth`, `authorization`, or `bearerToken`. - Cannot be set at the same time as `basicAuth`, `bearerTokenFile` or `sigv4`. - properties: - credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: |- - Defines the authentication type. The value is case-insensitive. + Deprecated: this will be removed in a future release. Prefer using `authorization`. + type: string + host: + description: |- + host defines the Kubernetes API address consisting of a hostname or IP address followed + by an optional port number. + type: string + noProxy: + description: |- + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names + that should be excluded from proxying. IP and domain names can + contain port numbers. - "Basic" is not a supported value. + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: string + proxyConnectHeader: + additionalProperties: + items: + 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: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: array + description: |- + proxyConnectHeader optionally specifies headers to send to + proxies during CONNECT requests. - Default: "Bearer" - type: string - type: object - basicAuth: - description: |- - BasicAuth configuration for Alertmanager. + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: object + x-kubernetes-map-type: atomic + proxyFromEnvironment: + description: |- + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). - Cannot be set at the same time as `bearerTokenFile`, `authorization` or `sigv4`. - properties: - password: - description: |- - `password` specifies a key of a Secret containing the password for - authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: |- - `username` specifies a key of a Secret containing the username for - authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenFile: - description: |- - File to read bearer token for Alertmanager. - - Cannot be set at the same time as `basicAuth`, `authorization`, or `sigv4`. - - Deprecated: this will be removed in a future release. Prefer using `authorization`. - type: string - enableHttp2: - description: Whether to enable HTTP2. - type: boolean - name: - description: Name of the Endpoints object in the namespace. - minLength: 1 - type: string - namespace: - description: |- - Namespace of the Endpoints object. - - If not set, the object will be discovered in the namespace of the - Prometheus object. - minLength: 1 - type: string - noProxy: - description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names - that should be excluded from proxying. IP and domain names can - contain port numbers. - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: string - pathPrefix: - description: Prefix for the HTTP path alerts are pushed to. - type: string - port: - anyOf: - - type: integer - - type: string - description: Port on which the Alertmanager API is exposed. - x-kubernetes-int-or-string: true - proxyConnectHeader: - additionalProperties: - items: - 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: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: array - description: |- - ProxyConnectHeader optionally specifies headers to send to - proxies during CONNECT requests. - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: object - x-kubernetes-map-type: atomic - proxyFromEnvironment: - description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: boolean - proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' - pattern: ^(http|https|socks5)://.+$ - type: string - relabelings: - description: Relabel configuration applied to the discovered Alertmanagers. - items: - description: |- - RelabelConfig allows dynamic rewriting of the label set for targets, alerts, - scraped samples and remote write samples. - - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. + type: boolean + proxyUrl: + description: proxyUrl defines the HTTP proxy server to use. + pattern: ^(http|https|socks5)://.+$ + type: string + tlsConfig: + description: tlsConfig to use for the API server. + properties: + ca: + description: ca defines the Certificate authority used when verifying server certificates. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. properties: - action: - default: replace - description: |- - Action to perform based on the regex matching. - - `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. - `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. - - Default: "Replace" - enum: - - replace - - Replace - - keep - - Keep - - drop - - Drop - - hashmod - - HashMod - - labelmap - - LabelMap - - labeldrop - - LabelDrop - - labelkeep - - LabelKeep - - lowercase - - Lowercase - - uppercase - - Uppercase - - keepequal - - KeepEqual - - dropequal - - DropEqual + key: + description: The key to select. type: string - modulus: + name: + default: "" description: |- - Modulus to take of the hash of the source label values. - - Only applicable when the action is `HashMod`. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted value is matched. + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. type: string - replacement: + name: + default: "" description: |- - Replacement value against which a Replace action is performed if the - regular expression matches. - - Regex capture groups are available. + 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 - separator: - description: Separator is the string between concatenated SourceLabels. + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. + type: string + cert: + description: cert defines the Client certificate to present when doing client-authentication. + properties: + configMap: + description: configMap defines the ConfigMap containing data to use for the targets. + properties: + key: + description: The key to select. type: string - sourceLabels: + name: + default: "" description: |- - The source labels select values from existing labels. Their content is - concatenated using the configured Separator and matched against the - configured regular expression. - items: - description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ - type: string - type: array - targetLabel: + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: secret defines the Secret containing data to use for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" description: |- - Label to which the resulting string is written in a replacement. - - It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, - `KeepEqual` and `DropEqual` actions. - - Regex capture groups are available. + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key type: object - type: array - scheme: - description: Scheme to use when firing alerts. - type: string - sigv4: - description: |- - Sigv4 allows to configures AWS's Signature Verification 4 for the URL. + x-kubernetes-map-type: atomic + type: object + certFile: + description: certFile defines the path to the client cert file in the Prometheus container for the targets. + type: string + insecureSkipVerify: + description: insecureSkipVerify defines how to disable target certificate validation. + type: boolean + keyFile: + description: keyFile defines the path to the client key file in the Prometheus container for the targets. + type: string + keySecret: + description: keySecret defines the Secret containing the client key file for the targets. + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + maxVersion: + description: |- + maxVersion defines the maximum acceptable TLS version. - It requires Prometheus >= v2.48.0. + It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + minVersion: + description: |- + minVersion defines the minimum acceptable TLS version. - Cannot be set at the same time as `basicAuth`, `bearerTokenFile` or `authorization`. - properties: - accessKey: - description: |- - AccessKey is the AWS API key. If not specified, the environment variable - `AWS_ACCESS_KEY_ID` is used. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - profile: - description: Profile is the named AWS profile used to authenticate. - type: string - region: - description: Region is the AWS region. If blank, the region from the default credentials chain used. - type: string - roleArn: - description: RoleArn is the named AWS profile used to authenticate. - type: string - secretKey: - description: |- - SecretKey is the AWS API secret. If not specified, the environment - variable `AWS_SECRET_ACCESS_KEY` is used. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - timeout: - description: Timeout is a per-target Alertmanager timeout when pushing alerts. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - tlsConfig: - description: TLS Config to use for Alertmanager. - properties: - ca: - description: Certificate authority used when verifying server certificates. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. - type: string - cert: - description: Client certificate to present when doing client-authentication. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - certFile: - description: Path to the client cert file in the Prometheus container for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: Path to the client key file in the Prometheus container for the targets. - type: string - keySecret: - description: Secret containing the client key file for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - maxVersion: - description: |- - Maximum acceptable TLS version. - - It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 - type: string - minVersion: - description: |- - Minimum acceptable TLS version. - - It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - required: - - name - - port - type: object - type: array + It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. + enum: + - TLS10 + - TLS11 + - TLS12 + - TLS13 + type: string + serverName: + description: serverName is used to verify the hostname for the targets. + type: string + type: object required: - - alertmanagers + - host type: object - allowOverlappingBlocks: - description: |- - AllowOverlappingBlocks enables vertical compaction and vertical query - merge in Prometheus. - - Deprecated: this flag has no effect for Prometheus >= 2.39.0 where overlapping blocks are enabled by default. - type: boolean - apiserverConfig: + arbitraryFSAccessThroughSMs: description: |- - APIServerConfig allows specifying a host and auth methods to access the - Kuberntees API server. - If null, Prometheus is assumed to run inside of the cluster: it will - discover the API servers automatically and use the Pod's CA certificate - and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. + arbitraryFSAccessThroughSMs when true, ServiceMonitor, PodMonitor and Probe object are forbidden to + reference arbitrary files on the file system of the 'prometheus' + container. + When a ServiceMonitor's endpoint specifies a `bearerTokenFile` value + (e.g. '/var/run/secrets/kubernetes.io/serviceaccount/token'), a + malicious target can get access to the Prometheus service account's + token in the Prometheus' scrape request. Setting + `spec.arbitraryFSAccessThroughSM` to 'true' would prevent the attack. + Users should instead provide the credentials using the + `spec.bearerTokenSecret` field. properties: - authorization: + deny: description: |- - Authorization section for the API server. - - Cannot be set at the same time as `basicAuth`, `bearerToken`, or - `bearerTokenFile`. - properties: - credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - credentialsFile: - description: File to read a secret from, mutually exclusive with `credentials`. - type: string - type: - description: |- - Defines the authentication type. The value is case-insensitive. + deny prevents service monitors from accessing arbitrary files on the file system. + When true, service monitors cannot use file-based configurations like BearerTokenFile + that could potentially access sensitive files. When false (default), such access is allowed. + Setting this to true enhances security by preventing potential credential theft attacks. + type: boolean + type: object + automountServiceAccountToken: + description: |- + automountServiceAccountToken defines whether a service account token should be automatically mounted in the pod. + If the field isn't set, the operator mounts the service account token by default. - "Basic" is not a supported value. + **Warning:** be aware that by default, Prometheus requires the service account token for Kubernetes service discovery. + It is possible to use strategic merge patch to project the service account token into the 'prometheus' container. + type: boolean + bodySizeLimit: + description: |- + bodySizeLimit defines per-scrape on response body size. + Only valid in Prometheus versions 2.45.0 and newer. - Default: "Bearer" - type: string - type: object - basicAuth: - description: |- - BasicAuth configuration for the API server. - - Cannot be set at the same time as `authorization`, `bearerToken`, or - `bearerTokenFile`. - properties: - password: - description: |- - `password` specifies a key of a Secret containing the password for - authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: |- - `username` specifies a key of a Secret containing the username for - authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerToken: - description: |- - *Warning: this field shouldn't be used because the token value appears - in clear-text. Prefer using `authorization`.* - - Deprecated: this will be removed in a future release. - type: string - bearerTokenFile: - description: |- - File to read bearer token for accessing apiserver. - - Cannot be set at the same time as `basicAuth`, `authorization`, or `bearerToken`. + Note that the global limit only applies to scrape objects that don't specify an explicit limit value. + If you want to enforce a maximum limit for all scrape objects, refer to enforcedBodySizeLimit. + pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$ + type: string + configMaps: + description: |- + configMaps defines a list of ConfigMaps in the same namespace as the Prometheus + object, which shall be mounted into the Prometheus Pods. + Each ConfigMap is added to the StatefulSet definition as a volume named `configmap-`. + The ConfigMaps are mounted into /etc/prometheus/configmaps/ in the 'prometheus' container. + items: + type: string + type: array + containers: + description: |- + containers allows injecting additional containers or modifying operator + generated containers. This can be used to allow adding an authentication + proxy to the Pods or to change the behavior of an operator generated + container. Containers described here modify an operator generated + container if they share the same name and modifications are done via a + strategic merge patch. - Deprecated: this will be removed in a future release. Prefer using `authorization`. - type: string - host: - description: |- - Kubernetes API address consisting of a hostname or IP address followed - by an optional port number. - type: string - noProxy: - description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names - that should be excluded from proxying. IP and domain names can - contain port numbers. + The names of containers managed by the operator are: + * `prometheus` + * `config-reloader` + * `thanos-sidecar` - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: string - proxyConnectHeader: - additionalProperties: + Overriding containers is entirely outside the scope of what the + maintainers will support and by doing so, you accept that this behaviour + may break at any time without notice. + 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 be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell items: - description: SecretKeySelector selects a key of a Secret. + type: string + type: array + 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)". Escaped references will never be expanded, regardless + of whether the variable exists or not. Cannot be updated. + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + items: + type: string + type: array + 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: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string name: - default: "" 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 + Name of the environment variable. + May consist of any printable ASCII characters except '='. type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: array - description: |- - ProxyConnectHeader optionally specifies headers to send to - proxies during CONNECT requests. - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: object - x-kubernetes-map-type: atomic - proxyFromEnvironment: - description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: boolean - proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' - pattern: ^(http|https|socks5)://.+$ - type: string - tlsConfig: - description: TLS Config to use for the API server. - properties: - ca: - description: Certificate authority used when verifying server certificates. - properties: - configMap: - description: ConfigMap containing data to use for the targets. + 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, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. Cannot be used if value is not empty. properties: - key: - description: The key to select. - type: string - name: - default: "" + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + fileKeyRef: 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key + FileKeyRef selects a key of the env file. + Requires the EnvFiles feature gate to be enabled. + properties: + key: + description: |- + The key within the env file. An invalid key will prevent the pod from starting. + The keys defined within a source may consist of any printable ASCII characters except '='. + During Alpha stage of the EnvFiles feature gate, the key size is limited to 128 characters. + type: string + optional: + default: false + description: |- + Specify whether the file or its key must be defined. If the file or key + does not exist, then the env var is not published. + If optional is set to true and the specified key does not exist, + the environment variable will not be set in the Pod's containers. + + If optional is set to false and the specified key does not exist, + an error will be returned during Pod creation. + type: boolean + path: + description: |- + The path within the volume from which to select the file. + Must be relative and may not contain the '..' path or start with '..'. + type: string + volumeName: + description: The name of the volume mount containing the env file. + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + properties: + key: + description: The key of the secret to select from. Must be a valid secret key. + type: string + name: + default: "" + 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 + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic type: object - x-kubernetes-map-type: atomic + required: + - name type: object - caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. - type: string - cert: - description: Client certificate to present when doing client-authentication. + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + envFrom: + description: |- + List of sources to populate environment variables in the container. + The keys defined within a source may consist of any printable ASCII characters except '='. + 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 or Secrets properties: - configMap: - description: ConfigMap containing data to use for the targets. + configMapRef: + description: The ConfigMap to select from properties: - key: - description: The key to select. - type: string name: default: "" description: |- @@ -1946,18 +1615,18 @@ spec: More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: Specify whether the ConfigMap must be defined type: boolean - required: - - key type: object x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. + prefix: + description: |- + Optional text to prepend to the name of each environment variable. + May consist of any printable ASCII characters except '='. + type: string + secretRef: + description: The Secret to select from properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string name: default: "" description: |- @@ -1968,372 +1637,14 @@ spec: More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: - description: Specify whether the Secret or its key must be defined + description: Specify whether the Secret must be defined type: boolean - required: - - key type: object x-kubernetes-map-type: atomic type: object - certFile: - description: Path to the client cert file in the Prometheus container for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: Path to the client key file in the Prometheus container for the targets. - type: string - keySecret: - description: Secret containing the client key file for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - maxVersion: - description: |- - Maximum acceptable TLS version. - - It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 - type: string - minVersion: - description: |- - Minimum acceptable TLS version. - - It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - required: - - host - type: object - arbitraryFSAccessThroughSMs: - description: |- - When true, ServiceMonitor, PodMonitor and Probe object are forbidden to - reference arbitrary files on the file system of the 'prometheus' - container. - When a ServiceMonitor's endpoint specifies a `bearerTokenFile` value - (e.g. '/var/run/secrets/kubernetes.io/serviceaccount/token'), a - malicious target can get access to the Prometheus service account's - token in the Prometheus' scrape request. Setting - `spec.arbitraryFSAccessThroughSM` to 'true' would prevent the attack. - Users should instead provide the credentials using the - `spec.bearerTokenSecret` field. - properties: - deny: - type: boolean - type: object - automountServiceAccountToken: - description: |- - AutomountServiceAccountToken indicates whether a service account token should be automatically mounted in the pod. - If the field isn't set, the operator mounts the service account token by default. - - **Warning:** be aware that by default, Prometheus requires the service account token for Kubernetes service discovery. - It is possible to use strategic merge patch to project the service account token into the 'prometheus' container. - type: boolean - baseImage: - description: 'Deprecated: use ''spec.image'' instead.' - type: string - bodySizeLimit: - description: |- - BodySizeLimit defines per-scrape on response body size. - Only valid in Prometheus versions 2.45.0 and newer. - - Note that the global limit only applies to scrape objects that don't specify an explicit limit value. - If you want to enforce a maximum limit for all scrape objects, refer to enforcedBodySizeLimit. - pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$ - type: string - configMaps: - description: |- - ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus - object, which shall be mounted into the Prometheus Pods. - Each ConfigMap is added to the StatefulSet definition as a volume named `configmap-`. - The ConfigMaps are mounted into /etc/prometheus/configmaps/ in the 'prometheus' container. - items: - type: string - type: array - containers: - description: |- - Containers allows injecting additional containers or modifying operator - generated containers. This can be used to allow adding an authentication - proxy to the Pods or to change the behavior of an operator generated - container. Containers described here modify an operator generated - container if they share the same name and modifications are done via a - strategic merge patch. - - The names of containers managed by the operator are: - * `prometheus` - * `config-reloader` - * `thanos-sidecar` - - Overriding containers is entirely outside the scope of what the - maintainers will support and by doing so, you accept that this behaviour - may break at any time without notice. - 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 be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string type: array 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)". Escaped references will never be expanded, regardless - of whether the variable exists or not. Cannot be updated. - More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - items: - type: string - type: array - 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. - May consist of any printable ASCII characters except '='. - 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, regardless of whether the variable - exists or not. - Defaults to "". - type: string - valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: |- - Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, - spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - properties: - apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - fileKeyRef: - description: |- - FileKeyRef selects a key of the env file. - Requires the EnvFiles feature gate to be enabled. - properties: - key: - description: |- - The key within the env file. An invalid key will prevent the pod from starting. - The keys defined within a source may consist of any printable ASCII characters except '='. - During Alpha stage of the EnvFiles feature gate, the key size is limited to 128 characters. - type: string - optional: - default: false - description: |- - Specify whether the file or its key must be defined. If the file or key - does not exist, then the env var is not published. - If optional is set to true and the specified key does not exist, - the environment variable will not be set in the Pod's containers. - - If optional is set to false and the specified key does not exist, - an error will be returned during Pod creation. - type: boolean - path: - description: |- - The path within the volume from which to select the file. - Must be relative and may not contain the '..' path or start with '..'. - type: string - volumeName: - description: The name of the volume mount containing the env file. - type: string - required: - - key - - path - - volumeName - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: |- - Selects a resource of the container: only resources limits and requests - (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. - properties: - containerName: - description: 'Container name: required for volumes, optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the pod's namespace - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - envFrom: - description: |- - List of sources to populate environment variables in the container. - The keys defined within a source may consist of any printable ASCII characters except '='. - 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 or Secrets - properties: - configMapRef: - description: The ConfigMap to select from - properties: - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - prefix: - description: |- - Optional text to prepend to the name of each environment variable. - May consist of any printable ASCII characters except '='. - type: string - secretRef: - description: The Secret to select from - properties: - name: - default: "" - 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 - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - x-kubernetes-list-type: atomic - image: + image: description: |- Container image name. More info: https://kubernetes.io/docs/concepts/containers/images @@ -3559,23 +2870,17 @@ spec: type: array convertClassicHistogramsToNHCB: description: |- - Whether to convert all scraped classic histograms into a native + convertClassicHistogramsToNHCB defines whether to convert all scraped classic histograms into a native histogram with custom buckets. It requires Prometheus >= v3.4.0. type: boolean - disableCompaction: - description: |- - When true, the Prometheus compaction is disabled. - When `spec.thanos.objectStorageConfig` or `spec.objectStorageConfigFile` are defined, the operator automatically - disables block compaction to avoid race conditions during block uploads (as the Thanos documentation recommends). - type: boolean dnsConfig: - description: Defines the DNS configuration for the pods. + description: dnsConfig defines the DNS configuration for the pods. properties: nameservers: description: |- - A list of DNS name server IP addresses. + nameservers defines the list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. items: minLength: 1 @@ -3584,7 +2889,7 @@ spec: x-kubernetes-list-type: set options: description: |- - A list of DNS resolver options. + options defines the list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Resolution options given in Options will override those that appear in the base DNSPolicy. @@ -3592,11 +2897,11 @@ spec: description: PodDNSConfigOption defines DNS resolver options of a pod. properties: name: - description: Name is required and must be unique. + description: name is required and must be unique. minLength: 1 type: string value: - description: Value is optional. + description: value is optional. type: string required: - name @@ -3607,7 +2912,7 @@ spec: x-kubernetes-list-type: map searches: description: |- - A list of DNS search domains for host-name lookup. + searches defines the list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. items: minLength: 1 @@ -3616,28 +2921,16 @@ spec: x-kubernetes-list-type: set type: object dnsPolicy: - description: Defines the DNS policy for the pods. + description: dnsPolicy defines the DNS policy for the pods. enum: - ClusterFirstWithHostNet - ClusterFirst - Default - None type: string - enableAdminAPI: - description: |- - Enables access to the Prometheus web admin API. - - WARNING: Enabling the admin APIs enables mutating endpoints, to delete data, - shutdown Prometheus, and more. Enabling this should be done with care and the - user is advised to add additional authentication authorization via a proxy to - ensure only clients authorized to perform these actions can do so. - - For more information: - https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis - type: boolean enableFeatures: description: |- - Enable access to Prometheus feature flags. By default, no features are enabled. + enableFeatures enables access to Prometheus feature flags. By default, no features are enabled. Enabling features which are disabled by default is entirely outside the scope of what the maintainers will support and by doing so, you accept @@ -3651,7 +2944,7 @@ spec: x-kubernetes-list-type: set enableOTLPReceiver: description: |- - Enable Prometheus to be used as a receiver for the OTLP Metrics protocol. + enableOTLPReceiver defines the Prometheus to be used as a receiver for the OTLP Metrics protocol. Note that the OTLP receiver endpoint is automatically enabled if `.spec.otlpConfig` is defined. @@ -3659,7 +2952,7 @@ spec: type: boolean enableRemoteWriteReceiver: description: |- - Enable Prometheus to be used as a receiver for the Prometheus remote + enableRemoteWriteReceiver defines the Prometheus to be used as a receiver for the Prometheus remote write protocol. WARNING: This is not considered an efficient way of ingesting samples. @@ -3671,11 +2964,11 @@ spec: It requires Prometheus >= v2.33.0. type: boolean enableServiceLinks: - description: Indicates whether information about services should be injected into pod's environment variables + description: enableServiceLinks defines whether information about services should be injected into pod's environment variables type: boolean enforcedBodySizeLimit: description: |- - When defined, enforcedBodySizeLimit specifies a global limit on the size + enforcedBodySizeLimit when defined specifies a global limit on the size of uncompressed response body that will be accepted by Prometheus. Targets responding with a body larger than this many bytes will cause the scrape to fail. @@ -3691,7 +2984,7 @@ spec: type: string enforcedKeepDroppedTargets: description: |- - When defined, enforcedKeepDroppedTargets specifies a global limit on the number of targets + enforcedKeepDroppedTargets when defined specifies a global limit on the number of targets dropped by relabeling that will be kept in memory. The value overrides any `spec.keepDroppedTargets` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.keepDroppedTargets` is @@ -3708,7 +3001,7 @@ spec: type: integer enforcedLabelLimit: description: |- - When defined, enforcedLabelLimit specifies a global limit on the number + enforcedLabelLimit when defined specifies a global limit on the number of labels per sample. The value overrides any `spec.labelLimit` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.labelLimit` is greater than zero and less than `spec.enforcedLabelLimit`. @@ -3724,7 +3017,7 @@ spec: type: integer enforcedLabelNameLengthLimit: description: |- - When defined, enforcedLabelNameLengthLimit specifies a global limit on the length + enforcedLabelNameLengthLimit when defined specifies a global limit on the length of labels name per sample. The value overrides any `spec.labelNameLengthLimit` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.labelNameLengthLimit` is greater than zero and less than `spec.enforcedLabelNameLengthLimit`. @@ -3740,7 +3033,7 @@ spec: type: integer enforcedLabelValueLengthLimit: description: |- - When not null, enforcedLabelValueLengthLimit defines a global limit on the length + enforcedLabelValueLengthLimit when not null defines a global limit on the length of labels value per sample. The value overrides any `spec.labelValueLengthLimit` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.labelValueLengthLimit` is greater than zero and less than `spec.enforcedLabelValueLengthLimit`. @@ -3756,7 +3049,7 @@ spec: type: integer enforcedNamespaceLabel: description: |- - When not empty, a label will be added to: + enforcedNamespaceLabel when not empty, a label will be added to: 1. All metrics scraped from `ServiceMonitor`, `PodMonitor`, `Probe` and `ScrapeConfig` objects. 2. All metrics generated from recording rules defined in `PrometheusRule` objects. @@ -3771,7 +3064,7 @@ spec: type: string enforcedSampleLimit: description: |- - When defined, enforcedSampleLimit specifies a global limit on the number + enforcedSampleLimit when defined specifies a global limit on the number of scraped samples that will be accepted. This overrides any `spec.sampleLimit` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.sampleLimit` is greater than zero and less than @@ -3789,7 +3082,7 @@ spec: type: integer enforcedTargetLimit: description: |- - When defined, enforcedTargetLimit specifies a global limit on the number + enforcedTargetLimit when defined specifies a global limit on the number of scraped targets. The value overrides any `spec.targetLimit` set by ServiceMonitor, PodMonitor, Probe objects unless `spec.targetLimit` is greater than zero and less than `spec.enforcedTargetLimit`. @@ -3804,16 +3097,9 @@ spec: * Scrape objects with a targetLimit value greater than enforcedTargetLimit are set to enforcedTargetLimit. format: int64 type: integer - evaluationInterval: - default: 30s - description: |- - Interval between rule evaluations. - Default: "30s" - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string excludedFromEnforcement: description: |- - List of references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects + excludedFromEnforcement defines the list of references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects to be excluded from enforcing a namespace label of origin. It is only applicable if `spec.enforcedNamespaceLabel` set to true. @@ -3822,21 +3108,21 @@ spec: properties: group: default: monitoring.coreos.com - description: Group of the referent. When not specified, it defaults to `monitoring.coreos.com` + description: group of the referent. When not specified, it defaults to `monitoring.coreos.com` enum: - monitoring.coreos.com type: string name: - description: Name of the referent. When not set, all resources in the namespace are matched. + description: name of the referent. When not set, all resources in the namespace are matched. type: string namespace: description: |- - Namespace of the referent. + namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ minLength: 1 type: string resource: - description: Resource of the referent. + description: resource of the referent. enum: - prometheusrules - servicemonitors @@ -3849,41 +3135,24 @@ spec: - resource type: object type: array - exemplars: - description: |- - Exemplars related settings that are runtime reloadable. - It requires to enable the `exemplar-storage` feature flag to be effective. - properties: - maxSize: - description: |- - Maximum number of exemplars stored in memory for all series. - - exemplar-storage itself must be enabled using the `spec.enableFeature` - option for exemplars to be scraped in the first place. - - If not set, Prometheus uses its default value. A value of zero or less - than zero disables the storage. - format: int64 - type: integer - type: object externalLabels: additionalProperties: type: string description: |- - The labels to add to any time series or alerts when communicating with + externalLabels defines the labels to add to any time series or alerts when communicating with external systems (federation, remote storage, Alertmanager). Labels defined by `spec.replicaExternalLabelName` and `spec.prometheusExternalLabelName` take precedence over this list. type: object externalUrl: description: |- - The external URL under which the Prometheus service is externally + externalUrl defines the external URL under which the Prometheus service is externally available. This is necessary to generate correct URLs (for instance if Prometheus is accessible behind an Ingress resource). type: string hostAliases: description: |- - Optional list of hosts and IPs that will be injected into the Pod's + hostAliases defines the optional list of hosts and IPs that will be injected into the Pod's hosts file if specified. items: description: |- @@ -3891,12 +3160,12 @@ spec: pod's hosts file. properties: hostnames: - description: Hostnames for the above IP address. + description: hostnames defines hostnames for the above IP address. items: type: string type: array ip: - description: IP address of the host file entry. + description: ip defines the IP address of the host file entry. type: string required: - hostnames @@ -3908,7 +3177,7 @@ spec: x-kubernetes-list-type: map hostNetwork: description: |- - Use the host's network namespace if true. + hostNetwork defines the host's network namespace if true. Make sure to understand the security implications if you want to enable it (https://kubernetes.io/docs/concepts/configuration/overview/ ). @@ -3919,7 +3188,7 @@ spec: type: boolean hostUsers: description: |- - HostUsers supports the user space in Kubernetes. + hostUsers supports the user space in Kubernetes. More info: https://kubernetes.io/docs/tasks/configure-pod-container/user-namespaces/ @@ -3928,14 +3197,14 @@ spec: type: boolean ignoreNamespaceSelectors: description: |- - When true, `spec.namespaceSelector` from all PodMonitor, ServiceMonitor + ignoreNamespaceSelectors when true, `spec.namespaceSelector` from all PodMonitor, ServiceMonitor and Probe objects will be ignored. They will only discover targets within the namespace of the PodMonitor, ServiceMonitor and Probe object. type: boolean image: description: |- - Container image name for Prometheus. If specified, it takes precedence + image defines the container image name for Prometheus. If specified, it takes precedence over the `spec.baseImage`, `spec.tag` and `spec.sha` fields. Specifying `spec.version` is still necessary to ensure the Prometheus @@ -3947,7 +3216,7 @@ spec: type: string imagePullPolicy: description: |- - Image pull policy for the 'prometheus', 'init-config-reloader' and 'config-reloader' containers. + imagePullPolicy defines the image pull policy for the 'prometheus', 'init-config-reloader' and 'config-reloader' containers. See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details. enum: - "" @@ -3957,7 +3226,7 @@ spec: type: string imagePullSecrets: description: |- - An optional list of references to Secrets in the same namespace + imagePullSecrets defines an optional list of references to Secrets in the same namespace to use for pulling images from registries. See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod items: @@ -3979,7 +3248,7 @@ spec: type: array initContainers: description: |- - InitContainers allows injecting initContainers to the Pod definition. Those + initContainers allows injecting initContainers to the Pod definition. Those can be used to e.g. fetch secrets for injection into the Prometheus configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: @@ -5456,7 +4725,7 @@ spec: type: array keepDroppedTargets: description: |- - Per-scrape limit on the number of targets dropped by relabeling + keepDroppedTargets defines the per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0. @@ -5467,7 +4736,7 @@ spec: type: integer labelLimit: description: |- - Per-scrape limit on number of labels that will be accepted for a sample. + labelLimit defines per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don't specify an explicit limit value. @@ -5476,7 +4745,7 @@ spec: type: integer labelNameLengthLimit: description: |- - Per-scrape limit on length of labels name that will be accepted for a sample. + labelNameLengthLimit defines the per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don't specify an explicit limit value. @@ -5485,7 +4754,7 @@ spec: type: integer labelValueLengthLimit: description: |- - Per-scrape limit on length of labels value that will be accepted for a sample. + labelValueLengthLimit defines the per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don't specify an explicit limit value. @@ -5494,18 +4763,18 @@ spec: type: integer listenLocal: description: |- - When true, the Prometheus server listens on the loopback address + listenLocal when true, the Prometheus server listens on the loopback address instead of the Pod IP's address. type: boolean logFormat: - description: Log format for Log level for Prometheus and the config-reloader sidecar. + description: logFormat for Log level for Prometheus and the config-reloader sidecar. enum: - "" - logfmt - json type: string logLevel: - description: Log level for Prometheus and the config-reloader sidecar. + description: logLevel for Prometheus and the config-reloader sidecar. enum: - "" - debug @@ -5515,23 +4784,32 @@ spec: type: string maximumStartupDurationSeconds: description: |- - Defines the maximum time that the `prometheus` container's startup probe will wait before being considered failed. The startup probe will return success after the WAL replay is complete. - If set, the value should be greater than 60 (seconds). Otherwise it will be equal to 600 seconds (15 minutes). + maximumStartupDurationSeconds defines the maximum time that the `prometheus` container's startup probe will wait before being considered failed. The startup probe will return success after the WAL replay is complete. + If set, the value should be greater than 60 (seconds). Otherwise it will be equal to 900 seconds (15 minutes). format: int32 minimum: 60 type: integer minReadySeconds: description: |- - Minimum number of seconds for which a newly created Pod should be ready + minReadySeconds defines the minimum number of seconds for which a newly created Pod should be ready without any of its container crashing for it to be considered available. If unset, pods will be considered available as soon as they are ready. format: int32 minimum: 0 type: integer + mode: + description: |- + mode defines how the Prometheus operator deploys the PrometheusAgent pod(s). + + (Alpha) Using this field requires the `PrometheusAgentDaemonSet` feature gate to be enabled. + enum: + - StatefulSet + - DaemonSet + type: string nameEscapingScheme: description: |- - Specifies the character escaping scheme that will be requested when scraping + nameEscapingScheme defines the character escaping scheme that will be requested when scraping for metric and label names that do not conform to the legacy Prometheus character set. @@ -5544,7 +4822,7 @@ spec: type: string nameValidationScheme: description: |- - Specifies the validation scheme for metric and label names. + nameValidationScheme defines the validation scheme for metric and label names. It requires Prometheus >= v2.55.0. enum: @@ -5554,21 +4832,21 @@ spec: nodeSelector: additionalProperties: type: string - description: Defines on which Nodes the Pods are scheduled. + description: nodeSelector defines on which Nodes the Pods are scheduled. type: object otlp: description: |- - Settings related to the OTLP receiver feature. + otlp defines the settings related to the OTLP receiver feature. It requires Prometheus >= v2.55.0. properties: convertHistogramsToNHCB: description: |- - Configures optional translation of OTLP explicit bucket histograms into native histograms with custom buckets. + convertHistogramsToNHCB defines optional translation of OTLP explicit bucket histograms into native histograms with custom buckets. It requires Prometheus >= v3.4.0. type: boolean ignoreResourceAttributes: description: |- - List of OpenTelemetry resource attributes to ignore when `promoteAllResourceAttributes` is true. + ignoreResourceAttributes defines the list of OpenTelemetry resource attributes to ignore when `promoteAllResourceAttributes` is true. It requires `promoteAllResourceAttributes` to be true. It requires Prometheus >= v3.5.0. @@ -5580,21 +4858,21 @@ spec: x-kubernetes-list-type: set keepIdentifyingResourceAttributes: description: |- - Enables adding `service.name`, `service.namespace` and `service.instance.id` + keepIdentifyingResourceAttributes enables adding `service.name`, `service.namespace` and `service.instance.id` resource attributes to the `target_info` metric, on top of converting them into the `instance` and `job` labels. It requires Prometheus >= v3.1.0. type: boolean promoteAllResourceAttributes: description: |- - Promote all resource attributes to metric labels except the ones defined in `ignoreResourceAttributes`. + promoteAllResourceAttributes promotes all resource attributes to metric labels except the ones defined in `ignoreResourceAttributes`. Cannot be true when `promoteResourceAttributes` is defined. It requires Prometheus >= v3.5.0. type: boolean promoteResourceAttributes: description: |- - List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none. + promoteResourceAttributes defines the list of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none. Cannot be defined when `promoteAllResourceAttributes` is true. items: minLength: 1 @@ -5602,39 +4880,46 @@ spec: minItems: 1 type: array x-kubernetes-list-type: set + promoteScopeMetadata: + description: |- + promoteScopeMetadata controls whether to promote OpenTelemetry scope metadata (i.e. name, version, schema URL, and attributes) to metric labels. + As per the OpenTelemetry specification, the aforementioned scope metadata should be identifying, i.e. made into metric labels. + It requires Prometheus >= v3.6.0. + type: boolean translationStrategy: description: |- - Configures how the OTLP receiver endpoint translates the incoming metrics. + translationStrategy defines how the OTLP receiver endpoint translates the incoming metrics. It requires Prometheus >= v3.0.0. enum: - NoUTF8EscapingWithSuffixes - UnderscoreEscapingWithSuffixes - NoTranslation + - UnderscoreEscapingWithoutSuffixes type: string type: object overrideHonorLabels: description: |- - When true, Prometheus resolves label conflicts by renaming the labels in the scraped data + overrideHonorLabels when true, Prometheus resolves label conflicts by renaming the labels in the scraped data to “exported_” for all targets created from ServiceMonitor, PodMonitor and ScrapeConfig objects. Otherwise the HonorLabels field of the service or pod monitor applies. - In practice,`overrideHonorLaels:true` enforces `honorLabels:false` + In practice,`OverrideHonorLabels:true` enforces `honorLabels:false` for all ServiceMonitor, PodMonitor and ScrapeConfig objects. type: boolean overrideHonorTimestamps: description: |- - When true, Prometheus ignores the timestamps for all the targets created + overrideHonorTimestamps when true, Prometheus ignores the timestamps for all the targets created from service and pod monitors. Otherwise the HonorTimestamps field of the service or pod monitor applies. type: boolean paused: description: |- - When a Prometheus deployment is paused, no actions except for deletion + paused defines when a Prometheus deployment is paused, no actions except for deletion will be performed on the underlying objects. type: boolean persistentVolumeClaimRetentionPolicy: description: |- - The field controls if and how PVCs are deleted during the lifecycle of a StatefulSet. + persistentVolumeClaimRetentionPolicy defines the field controls if and how PVCs are deleted during the lifecycle of a StatefulSet. The default behavior is all PVCs are retained. This is an alpha field from kubernetes 1.23 until 1.26 and a beta field from 1.26. It requires enabling the StatefulSetAutoDeletePVC feature gate. @@ -5655,9 +4940,24 @@ spec: the replica count to be deleted. type: string type: object + podManagementPolicy: + description: |- + podManagementPolicy defines the policy for creating/deleting pods when + scaling up and down. + + Unlike the default StatefulSet behavior, the default policy is + `Parallel` to avoid manual intervention in case a pod gets stuck during + a rollout. + + Note that updating this value implies the recreation of the StatefulSet + which incurs a service outage. + enum: + - OrderedReady + - Parallel + type: string podMetadata: description: |- - PodMetadata configures labels and annotations which are propagated to the Prometheus pods. + podMetadata defines labels and annotations which are propagated to the Prometheus pods. The following items are reserved and cannot be overridden: * "prometheus" label, set to the name of the Prometheus object. @@ -5673,1010 +4973,268 @@ spec: additionalProperties: type: string description: |- - Annotations is an unstructured key value map stored with a resource that may be + annotations defines 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 labels: - additionalProperties: - type: string - 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 - 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/ - type: string - type: object - podMonitorNamespaceSelector: - description: |- - Namespaces to match for PodMonitors discovery. An empty label selector - matches all namespaces. A null label selector (default value) matches the current - namespace only. - 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 - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - 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 - type: object - x-kubernetes-map-type: atomic - podMonitorSelector: - description: |- - PodMonitors to be selected for target discovery. An empty label selector - matches all objects. A null label selector matches no objects. - - If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` - and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged. - The Prometheus operator will ensure that the Prometheus configuration's - Secret exists, but it is the responsibility of the user to provide the raw - gzipped Prometheus configuration under the `prometheus.yaml.gz` key. - This behavior is *deprecated* and will be removed in the next major version - of the custom resource definition. It is recommended to use - `spec.additionalScrapeConfigs` instead. - 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 - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - 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 - type: object - x-kubernetes-map-type: atomic - podTargetLabels: - description: |- - PodTargetLabels are appended to the `spec.podTargetLabels` field of all - PodMonitor and ServiceMonitor objects. - items: - type: string - type: array - portName: - default: web - description: |- - Port name used for the pods and governing service. - Default: "web" - type: string - priorityClassName: - description: Priority class assigned to the Pods. - type: string - probeNamespaceSelector: - description: |- - Namespaces to match for Probe discovery. An empty label - selector matches all namespaces. A null label selector matches the - current namespace only. - 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 - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - 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 - type: object - x-kubernetes-map-type: atomic - probeSelector: - description: |- - Probes to be selected for target discovery. An empty label selector - matches all objects. A null label selector matches no objects. - - If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` - and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged. - The Prometheus operator will ensure that the Prometheus configuration's - Secret exists, but it is the responsibility of the user to provide the raw - gzipped Prometheus configuration under the `prometheus.yaml.gz` key. - This behavior is *deprecated* and will be removed in the next major version - of the custom resource definition. It is recommended to use - `spec.additionalScrapeConfigs` instead. - 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 - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - 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 - type: object - x-kubernetes-map-type: atomic - prometheusExternalLabelName: - description: |- - Name of Prometheus external label used to denote the Prometheus instance - name. The external label will _not_ be added when the field is set to - the empty string (`""`). - - Default: "prometheus" - type: string - prometheusRulesExcludedFromEnforce: - description: |- - Defines the list of PrometheusRule objects to which the namespace label - enforcement doesn't apply. - This is only relevant when `spec.enforcedNamespaceLabel` is set to true. - Deprecated: use `spec.excludedFromEnforcement` instead. - items: - description: |- - PrometheusRuleExcludeConfig enables users to configure excluded - PrometheusRule names and their namespaces to be ignored while enforcing - namespace label for alerts and metrics. - properties: - ruleName: - description: Name of the excluded PrometheusRule object. - type: string - ruleNamespace: - description: Namespace of the excluded PrometheusRule object. - type: string - required: - - ruleName - - ruleNamespace - type: object - type: array - query: - description: QuerySpec defines the configuration of the Promethus query service. - properties: - lookbackDelta: - description: The delta difference allowed for retrieving metrics during expression evaluations. - type: string - maxConcurrency: - description: Number of concurrent queries that can be run at once. - format: int32 - minimum: 1 - type: integer - maxSamples: - description: |- - Maximum number of samples a single query can load into memory. Note that - queries will fail if they would load more samples than this into memory, - so this also limits the number of samples a query can return. - format: int32 - type: integer - timeout: - description: Maximum time a query may take before being aborted. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - type: object - queryLogFile: - description: |- - queryLogFile specifies where the file to which PromQL queries are logged. - - If the filename has an empty path, e.g. 'query.log', The Prometheus Pods - will mount the file into an emptyDir volume at `/var/log/prometheus`. - If a full path is provided, e.g. '/var/log/prometheus/query.log', you - must mount a volume in the specified directory and it must be writable. - This is because the prometheus container runs with a read-only root - filesystem for security reasons. - Alternatively, the location can be set to a standard I/O stream, e.g. - `/dev/stdout`, to log query information to the default Prometheus log - stream. - type: string - reloadStrategy: - description: |- - Defines the strategy used to reload the Prometheus configuration. - If not specified, the configuration is reloaded using the /-/reload HTTP endpoint. - enum: - - HTTP - - ProcessSignal - type: string - remoteRead: - description: Defines the list of remote read configurations. - items: - description: |- - RemoteReadSpec defines the configuration for Prometheus to read back samples - from a remote endpoint. - properties: - authorization: - description: |- - Authorization section for the URL. - - It requires Prometheus >= v2.26.0. - - Cannot be set at the same time as `basicAuth`, or `oauth2`. - properties: - credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - credentialsFile: - description: File to read a secret from, mutually exclusive with `credentials`. - type: string - type: - description: |- - Defines the authentication type. The value is case-insensitive. - - "Basic" is not a supported value. - - Default: "Bearer" - type: string - type: object - basicAuth: - description: |- - BasicAuth configuration for the URL. - - Cannot be set at the same time as `authorization`, or `oauth2`. - properties: - password: - description: |- - `password` specifies a key of a Secret containing the password for - authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: |- - `username` specifies a key of a Secret containing the username for - authentication. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerToken: - description: |- - *Warning: this field shouldn't be used because the token value appears - in clear-text. Prefer using `authorization`.* - - Deprecated: this will be removed in a future release. - type: string - bearerTokenFile: - description: |- - File from which to read the bearer token for the URL. - - Deprecated: this will be removed in a future release. Prefer using `authorization`. - type: string - filterExternalLabels: - description: |- - Whether to use the external labels as selectors for the remote read endpoint. - - It requires Prometheus >= v2.34.0. - type: boolean - followRedirects: - description: |- - Configure whether HTTP requests follow HTTP 3xx redirects. - - It requires Prometheus >= v2.26.0. - type: boolean - headers: - additionalProperties: - type: string - description: |- - Custom HTTP headers to be sent along with each remote read request. - Be aware that headers that are set by Prometheus itself can't be overwritten. - Only valid in Prometheus versions 2.26.0 and newer. - type: object - name: - description: |- - The name of the remote read queue, it must be unique if specified. The - name is used in metrics and logging in order to differentiate read - configurations. - - It requires Prometheus >= v2.15.0. - type: string - noProxy: - description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names - that should be excluded from proxying. IP and domain names can - contain port numbers. - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: string - oauth2: - description: |- - OAuth2 configuration for the URL. - - It requires Prometheus >= v2.27.0. - - Cannot be set at the same time as `authorization`, or `basicAuth`. - properties: - clientId: - description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the - OAuth2 client's ID. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 - client's secret. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: |- - `endpointParams` configures the HTTP parameters to append to the token - URL. - type: object - noProxy: - description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names - that should be excluded from proxying. IP and domain names can - contain port numbers. - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: string - proxyConnectHeader: - additionalProperties: - items: - 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: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: array - description: |- - ProxyConnectHeader optionally specifies headers to send to - proxies during CONNECT requests. - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: object - x-kubernetes-map-type: atomic - proxyFromEnvironment: - description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: boolean - proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' - pattern: ^(http|https|socks5)://.+$ - type: string - scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' - items: - type: string - type: array - tlsConfig: - description: |- - TLS configuration to use when connecting to the OAuth2 server. - It requires Prometheus >= v2.43.0. - properties: - ca: - description: Certificate authority used when verifying server certificates. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Client certificate to present when doing client-authentication. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key file for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - maxVersion: - description: |- - Maximum acceptable TLS version. - - It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 - type: string - minVersion: - description: |- - Minimum acceptable TLS version. - - It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyConnectHeader: - additionalProperties: - items: - 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: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: array - description: |- - ProxyConnectHeader optionally specifies headers to send to - proxies during CONNECT requests. - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: object - x-kubernetes-map-type: atomic - proxyFromEnvironment: - description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). - - It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. - type: boolean - proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' - pattern: ^(http|https|socks5)://.+$ + additionalProperties: type: string - readRecent: + description: |- + labels define the 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 + 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/ + type: string + type: object + podMonitorNamespaceSelector: + description: |- + podMonitorNamespaceSelector defines the namespaces to match for PodMonitors discovery. An empty label selector + matches all namespaces. A null label selector (default value) matches the current + namespace only. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: description: |- - Whether reads should be made for queries for time ranges that - the local storage should have complete data for. - type: boolean - remoteTimeout: - description: Timeout for requests to the remote read endpoint. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: type: string - requiredMatchers: - additionalProperties: - type: string + 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 + type: object + x-kubernetes-map-type: atomic + podMonitorSelector: + description: |- + podMonitorSelector defines the podMonitors to be selected for target discovery. An empty label selector + matches all objects. A null label selector matches no objects. + + If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` + and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged. + The Prometheus operator will ensure that the Prometheus configuration's + Secret exists, but it is the responsibility of the user to provide the raw + gzipped Prometheus configuration under the `prometheus.yaml.gz` key. + This behavior is *deprecated* and will be removed in the next major version + of the custom resource definition. It is recommended to use + `spec.additionalScrapeConfigs` instead. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: description: |- - An optional list of equality matchers which have to be present - in a selector to query the remote read endpoint. - type: object - tlsConfig: - description: TLS Config to use for the URL. + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: - ca: - description: Certificate authority used when verifying server certificates. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. - type: string - cert: - description: Client certificate to present when doing client-authentication. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - certFile: - description: Path to the client cert file in the Prometheus container for the targets. + key: + description: key is the label key that the selector applies to. type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: Path to the client key file in the Prometheus container for the targets. + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string - keySecret: - description: Secret containing the client key file for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - maxVersion: + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + podTargetLabels: + description: |- + podTargetLabels are appended to the `spec.podTargetLabels` field of all + PodMonitor and ServiceMonitor objects. + items: + type: string + type: array + portName: + default: web + description: |- + portName used for the pods and governing service. + Default: "web" + type: string + priorityClassName: + description: priorityClassName assigned to the Pods. + type: string + probeNamespaceSelector: + description: |- + probeNamespaceSelector defines the namespaces to match for Probe discovery. An empty label + selector matches all namespaces. A null label selector matches the + current namespace only. + 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: |- - Maximum acceptable TLS version. - - It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string - minVersion: + values: description: |- - Minimum acceptable TLS version. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + probeSelector: + description: |- + probeSelector defines the probes to be selected for target discovery. An empty label selector + matches all objects. A null label selector matches no objects. - It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 + If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` + and `spec.scrapeConfigSelector` are null, the Prometheus configuration is unmanaged. + The Prometheus operator will ensure that the Prometheus configuration's + Secret exists, but it is the responsibility of the user to provide the raw + gzipped Prometheus configuration under the `prometheus.yaml.gz` key. + This behavior is *deprecated* and will be removed in the next major version + of the custom resource definition. It is recommended to use + `spec.additionalScrapeConfigs` instead. + 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 - serverName: - description: Used to verify the hostname for the targets. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator type: object - url: - description: The URL of the endpoint to query from. + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: type: string - required: - - url - type: object - type: array + 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 + type: object + x-kubernetes-map-type: atomic + prometheusExternalLabelName: + description: |- + prometheusExternalLabelName defines the name of Prometheus external label used to denote the Prometheus instance + name. The external label will _not_ be added when the field is set to + the empty string (`""`). + + Default: "prometheus" + type: string + reloadStrategy: + description: |- + reloadStrategy defines the strategy used to reload the Prometheus configuration. + If not specified, the configuration is reloaded using the /-/reload HTTP endpoint. + enum: + - HTTP + - ProcessSignal + type: string remoteWrite: - description: Defines the list of remote write configurations. + description: remoteWrite defines the list of remote write configurations. items: description: |- RemoteWriteSpec defines the configuration to write samples from Prometheus @@ -6684,14 +5242,14 @@ spec: properties: authorization: description: |- - Authorization section for the URL. + authorization section for the URL. It requires Prometheus >= v2.26.0 or Thanos >= v0.24.0. Cannot be set at the same time as `sigv4`, `basicAuth`, `oauth2`, or `azureAd`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6713,11 +5271,11 @@ spec: type: object x-kubernetes-map-type: atomic credentialsFile: - description: File to read a secret from, mutually exclusive with `credentials`. + description: credentialsFile defines the file to read a secret from, mutually exclusive with `credentials`. type: string type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -6726,14 +5284,14 @@ spec: type: object azureAd: description: |- - AzureAD for the URL. + azureAd for the URL. It requires Prometheus >= v2.45.0 or Thanos >= v0.31.0. Cannot be set at the same time as `authorization`, `basicAuth`, `oauth2`, or `sigv4`. properties: cloud: - description: The Azure Cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'. + description: cloud defines the Azure Cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'. enum: - AzureChina - AzureGovernment @@ -6741,28 +5299,30 @@ spec: type: string managedIdentity: description: |- - ManagedIdentity defines the Azure User-assigned Managed identity. + managedIdentity defines the Azure User-assigned Managed identity. Cannot be set at the same time as `oauth` or `sdk`. properties: clientId: - description: The client id + description: |- + clientId defines the Azure User-assigned Managed identity. + + For Prometheus >= 3.5.0 and Thanos >= 0.40.0, this field is allowed to be empty to support system-assigned managed identities. + minLength: 1 type: string - required: - - clientId type: object oauth: description: |- - OAuth defines the oauth config that is being used to authenticate. + oauth defines the oauth config that is being used to authenticate. Cannot be set at the same time as `managedIdentity` or `sdk`. It requires Prometheus >= v2.48.0 or Thanos >= v0.31.0. properties: clientId: - description: '`clientID` is the clientId of the Azure Active Directory application that is being used to authenticate.' + description: clientId defines the clientId of the Azure Active Directory application that is being used to authenticate. minLength: 1 type: string clientSecret: - description: '`clientSecret` specifies a key of a Secret containing the client secret of the Azure Active Directory application that is being used to authenticate.' + description: clientSecret specifies a key of a Secret containing the client secret of the Azure Active Directory application that is being used to authenticate. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6784,7 +5344,7 @@ spec: type: object x-kubernetes-map-type: atomic tenantId: - description: '`tenantId` is the tenant ID of the Azure Active Directory application that is being used to authenticate.' + description: tenantId is the tenant ID of the Azure Active Directory application that is being used to authenticate. minLength: 1 pattern: ^[0-9a-zA-Z-.]+$ type: string @@ -6795,27 +5355,27 @@ spec: type: object sdk: description: |- - SDK defines the Azure SDK config that is being used to authenticate. + sdk defines the Azure SDK config that is being used to authenticate. See https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication Cannot be set at the same time as `oauth` or `managedIdentity`. It requires Prometheus >= v2.52.0 or Thanos >= v0.36.0. properties: tenantId: - description: '`tenantId` is the tenant ID of the azure active directory application that is being used to authenticate.' + description: tenantId defines the tenant ID of the azure active directory application that is being used to authenticate. pattern: ^[0-9a-zA-Z-.]+$ type: string type: object type: object basicAuth: description: |- - BasicAuth configuration for the URL. + basicAuth configuration for the URL. Cannot be set at the same time as `sigv4`, `authorization`, `oauth2`, or `azureAd`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -6839,7 +5399,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -6864,23 +5424,22 @@ spec: type: object bearerToken: description: |- + bearerToken is deprecated: this will be removed in a future release. *Warning: this field shouldn't be used because the token value appears in clear-text. Prefer using `authorization`.* - - Deprecated: this will be removed in a future release. type: string bearerTokenFile: description: |- - File from which to read bearer token for the URL. + bearerTokenFile defines the file from which to read bearer token for the URL. Deprecated: this will be removed in a future release. Prefer using `authorization`. type: string enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: description: |- - Configure whether HTTP requests follow HTTP 3xx redirects. + followRedirects defines whether HTTP requests follow HTTP 3xx redirects. It requires Prometheus >= v2.26.0 or Thanos >= v0.24.0. type: boolean @@ -6888,14 +5447,14 @@ spec: additionalProperties: type: string description: |- - Custom HTTP headers to be sent along with each remote write request. + headers defines the custom HTTP headers to be sent along with each remote write request. Be aware that headers that are set by Prometheus itself can't be overwritten. It requires Prometheus >= v2.25.0 or Thanos >= v0.24.0. type: object messageVersion: description: |- - The Remote Write message's version to use when writing to the endpoint. + messageVersion defines the Remote Write message's version to use when writing to the endpoint. `Version1.0` corresponds to the `prometheus.WriteRequest` protobuf message introduced in Remote Write 1.0. `Version2.0` corresponds to the `io.prometheus.write.v2.Request` protobuf message introduced in Remote Write 2.0. @@ -6912,34 +5471,38 @@ spec: - V2.0 type: string metadataConfig: - description: MetadataConfig configures the sending of series metadata to the remote storage. + description: |- + metadataConfig defines how to send a series metadata to the remote storage. + + When the field is empty, **no metadata** is sent. But when the field is + null, metadata is sent. properties: maxSamplesPerSend: description: |- - MaxSamplesPerSend is the maximum number of metadata samples per send. + maxSamplesPerSend defines the maximum number of metadata samples per send. It requires Prometheus >= v2.29.0. format: int32 minimum: -1 type: integer send: - description: Defines whether metric metadata is sent to the remote storage or not. + description: send defines whether metric metadata is sent to the remote storage or not. type: boolean sendInterval: - description: Defines how frequently metric metadata is sent to the remote storage. + description: sendInterval defines how frequently metric metadata is sent to the remote storage. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string type: object name: description: |- - The name of the remote write queue, it must be unique if specified. The + name of the remote write queue, it must be unique if specified. The name is used in metrics and logging in order to differentiate queues. It requires Prometheus >= v2.15.0 or Thanos >= 0.24.0. type: string noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -6947,7 +5510,7 @@ spec: type: string oauth2: description: |- - OAuth2 configuration for the URL. + oauth2 configuration for the URL. It requires Prometheus >= v2.27.0 or Thanos >= v0.24.0. @@ -6955,11 +5518,11 @@ spec: properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6981,7 +5544,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7005,7 +5568,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -7031,12 +5594,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -7068,7 +5631,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -7076,29 +5639,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7120,7 +5683,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7143,10 +5706,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7168,7 +5731,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7191,10 +5754,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7217,7 +5780,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -7228,7 +5791,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -7238,11 +5801,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -7276,7 +5839,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -7284,82 +5847,70 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string queueConfig: - description: QueueConfig allows tuning of the remote write queue parameters. + description: queueConfig allows tuning of the remote write queue parameters. properties: batchSendDeadline: - description: BatchSendDeadline is the maximum time a sample will wait in buffer. + description: batchSendDeadline defines the maximum time a sample will wait in buffer. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string capacity: description: |- - Capacity is the number of samples to buffer per shard before we start + capacity defines the number of samples to buffer per shard before we start dropping them. type: integer maxBackoff: - description: MaxBackoff is the maximum retry delay. + description: maxBackoff defines the maximum retry delay. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string maxRetries: - description: MaxRetries is the maximum number of times to retry a batch on recoverable errors. + description: maxRetries defines the maximum number of times to retry a batch on recoverable errors. type: integer maxSamplesPerSend: - description: MaxSamplesPerSend is the maximum number of samples per send. + description: maxSamplesPerSend defines the maximum number of samples per send. type: integer maxShards: - description: MaxShards is the maximum number of shards, i.e. amount of concurrency. + description: maxShards defines the maximum number of shards, i.e. amount of concurrency. type: integer minBackoff: - description: MinBackoff is the initial retry delay. Gets doubled for every retry. + description: minBackoff defines the initial retry delay. Gets doubled for every retry. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string minShards: - description: MinShards is the minimum number of shards, i.e. amount of concurrency. + description: minShards defines the minimum number of shards, i.e. amount of concurrency. type: integer retryOnRateLimit: description: |- - Retry upon receiving a 429 status code from the remote-write storage. + retryOnRateLimit defines the retry upon receiving a 429 status code from the remote-write storage. This is an *experimental feature*, it may change in any upcoming release in a breaking way. type: boolean sampleAgeLimit: description: |- - SampleAgeLimit drops samples older than the limit. + sampleAgeLimit drops samples older than the limit. It requires Prometheus >= v2.50.0 or Thanos >= v0.32.0. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string type: object remoteTimeout: - description: Timeout for requests to the remote write endpoint. + description: remoteTimeout defines the timeout for requests to the remote write endpoint. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string roundRobinDNS: - description: |- - When enabled: - - The remote-write mechanism will resolve the hostname via DNS. - - It will randomly select one of the resolved IP addresses and connect to it. - - When disabled (default behavior): - - The Go standard library will handle hostname resolution. - - It will attempt connections to each resolved IP address sequentially. - - Note: The connection timeout applies to the entire resolution and connection process. - If disabled, the timeout is distributed across all connection attempts. - - It requires Prometheus >= v3.1.0 or Thanos >= v0.38.0. + description: "roundRobinDNS controls the DNS resolution behavior for remote-write connections.\nWhen enabled:\n - The remote-write mechanism will resolve the hostname via DNS.\n - It will randomly select one of the resolved IP addresses and connect to it.\n\nWhen disabled (default behavior):\n - The Go standard library will handle hostname resolution.\n - It will attempt connections to each resolved IP address sequentially.\n\nNote: The connection timeout applies to the entire resolution and connection process.\n\n\tIf disabled, the timeout is distributed across all connection attempts.\n\nIt requires Prometheus >= v3.1.0 or Thanos >= v0.38.0." type: boolean sendExemplars: description: |- - Enables sending of exemplars over remote write. Note that + sendExemplars enables sending of exemplars over remote write. Note that exemplar-storage itself must be enabled using the `spec.enableFeatures` option for exemplars to be scraped in the first place. @@ -7367,14 +5918,14 @@ spec: type: boolean sendNativeHistograms: description: |- - Enables sending of native histograms, also known as sparse histograms + sendNativeHistograms enables sending of native histograms, also known as sparse histograms over remote write. It requires Prometheus >= v2.40.0 or Thanos >= v0.30.0. type: boolean sigv4: description: |- - Sigv4 allows to configures AWS's Signature Verification 4 for the URL. + sigv4 defines the AWS's Signature Verification 4 for the URL. It requires Prometheus >= v2.26.0 or Thanos >= v0.24.0. @@ -7382,7 +5933,7 @@ spec: properties: accessKey: description: |- - AccessKey is the AWS API key. If not specified, the environment variable + accessKey defines the AWS API key. If not specified, the environment variable `AWS_ACCESS_KEY_ID` is used. properties: key: @@ -7405,17 +5956,17 @@ spec: type: object x-kubernetes-map-type: atomic profile: - description: Profile is the named AWS profile used to authenticate. + description: profile defines the named AWS profile used to authenticate. type: string region: - description: Region is the AWS region. If blank, the region from the default credentials chain used. + description: region defines the AWS region. If blank, the region from the default credentials chain used. type: string roleArn: - description: RoleArn is the named AWS profile used to authenticate. + description: roleArn defines the named AWS profile used to authenticate. type: string secretKey: description: |- - SecretKey is the AWS API secret. If not specified, the environment + secretKey defines the AWS API secret. If not specified, the environment variable `AWS_SECRET_ACCESS_KEY` is used. properties: key: @@ -7437,15 +5988,20 @@ spec: - key type: object x-kubernetes-map-type: atomic + useFIPSSTSEndpoint: + description: |- + useFIPSSTSEndpoint defines the FIPS mode for the AWS STS endpoint. + It requires Prometheus >= v2.54.0. + type: boolean type: object tlsConfig: - description: TLS Config to use for the URL. + description: tlsConfig to use for the URL. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7467,7 +6023,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7490,13 +6046,13 @@ spec: x-kubernetes-map-type: atomic type: object caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. type: string cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7518,7 +6074,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7541,16 +6097,16 @@ spec: x-kubernetes-map-type: atomic type: object certFile: - description: Path to the client cert file in the Prometheus container for the targets. + description: certFile defines the path to the client cert file in the Prometheus container for the targets. type: string insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keyFile: - description: Path to the client key file in the Prometheus container for the targets. + description: keyFile defines the path to the client key file in the Prometheus container for the targets. type: string keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7573,7 +6129,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -7584,7 +6140,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -7594,15 +6150,15 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object url: - description: The URL of the endpoint to send samples to. + description: url defines the URL of the endpoint to send samples to. minLength: 1 type: string writeRelabelConfigs: - description: The list of remote write relabel configurations. + description: writeRelabelConfigs defines the list of remote write relabel configurations. items: description: |- RelabelConfig allows dynamic rewriting of the label set for targets, alerts, @@ -7613,7 +6169,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -7645,39 +6201,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -7692,7 +6248,7 @@ spec: type: array remoteWriteReceiverMessageVersions: description: |- - List of the protobuf message versions to accept when receiving the + remoteWriteReceiverMessageVersions list of the protobuf message versions to accept when receiving the remote writes. It requires Prometheus >= v2.54.0. @@ -7706,7 +6262,7 @@ spec: x-kubernetes-list-type: set replicaExternalLabelName: description: |- - Name of Prometheus external label used to denote the replica name. + replicaExternalLabelName defines the name of Prometheus external label used to denote the replica name. The external label will _not_ be added when the field is set to the empty string (`""`). @@ -7714,7 +6270,7 @@ spec: type: string replicas: description: |- - Number of replicas of each shard to deploy for a Prometheus deployment. + replicas defines the number of replicas of each shard to deploy for a Prometheus deployment. `spec.replicas` multiplied by `spec.shards` is the total number of Pods created. @@ -7722,7 +6278,7 @@ spec: format: int32 type: integer resources: - description: Defines the resources requests and limits of the 'prometheus' container. + description: resources defines the resources requests and limits of the 'prometheus' container. properties: claims: description: |- @@ -7744,196 +6300,57 @@ spec: type: string request: description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: |- - Limits describes the maximum amount of compute resources allowed. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - 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 - type: object - retention: - description: |- - How long to retain the Prometheus data. - - Default: "24h" if `spec.retention` and `spec.retentionSize` are empty. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - retentionSize: - description: Maximum number of bytes used by the Prometheus data. - pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$ - type: string - routePrefix: - description: |- - The route prefix Prometheus registers HTTP handlers for. - - This is useful when using `spec.externalURL`, and a proxy is rewriting - HTTP routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. - type: string - ruleNamespaceSelector: - description: |- - Namespaces to match for PrometheusRule discovery. An empty label selector - matches all namespaces. A null label selector matches the current - namespace only. - 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 - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - 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 - type: object - x-kubernetes-map-type: atomic - ruleQueryOffset: - description: |- - Defines the offset the rule evaluation timestamp of this particular group by the specified duration into the past. - It requires Prometheus >= v2.53.0. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - ruleSelector: - description: |- - PrometheusRule objects to be selected for rule evaluation. 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 - type: array - x-kubernetes-list-type: atomic + Request is the name chosen for a request in the referenced claim. + If empty, everything from the claim is made available, otherwise + only the result of this request. + type: string required: - - key - - operator + - name type: object type: array - x-kubernetes-list-type: atomic - matchLabels: + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: additionalProperties: - type: string + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true 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. + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object - type: object - x-kubernetes-map-type: atomic - rules: - description: Defines the configuration of the Prometheus rules' engine. - properties: - alert: + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true description: |- - Defines the parameters of the Prometheus rules' engine. - - Any update to these parameters trigger a restart of the pods. - properties: - forGracePeriod: - description: |- - Minimum duration between alert and restored 'for' state. - - This is maintained only for alerts with a configured 'for' time greater - than the grace period. - type: string - forOutageTolerance: - description: |- - Max time to tolerate prometheus outage for restoring 'for' state of - alert. - type: string - resendDelay: - description: |- - Minimum amount of time to wait before resending an alert to - Alertmanager. - type: string + 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 type: object + routePrefix: + description: |- + routePrefix defines the route prefix Prometheus registers HTTP handlers for. + + This is useful when using `spec.externalURL`, and a proxy is rewriting + HTTP routes of a request, and the actual ExternalURL is still true, but + the server serves requests under a different route prefix. For example + for use with `kubectl proxy`. + type: string runtime: - description: RuntimeConfig configures the values for the Prometheus process behavior + description: runtime defines the values for the Prometheus process behavior properties: goGC: description: |- - The Go garbage collection target percentage. Lowering this number may increase the CPU usage. + goGC defines the Go garbage collection target percentage. Lowering this number may increase the CPU usage. See: https://tip.golang.org/doc/gc-guide#GOGC format: int32 minimum: -1 @@ -7941,7 +6358,7 @@ spec: type: object sampleLimit: description: |- - SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. + sampleLimit defines per-scrape limit on number of scraped samples that will be accepted. Only valid in Prometheus versions 2.45.0 and newer. Note that the global limit only applies to scrape objects that don't specify an explicit limit value. @@ -7950,7 +6367,7 @@ spec: type: integer scrapeClasses: description: |- - List of scrape classes to expose to scraping objects such as + scrapeClasses defines the list of scrape classes to expose to scraping objects such as PodMonitors, ServiceMonitors, Probes and ScrapeConfigs. This is an *experimental feature*, it may change in any upcoming release @@ -7959,13 +6376,13 @@ spec: properties: attachMetadata: description: |- - AttachMetadata configures additional metadata to the discovered targets. + attachMetadata defines additional metadata to the discovered targets. When the scrape object defines its own configuration, it takes precedence over the scrape class configuration. properties: node: description: |- - When set to true, Prometheus attaches node metadata to the discovered + node when set to true, Prometheus attaches node metadata to the discovered targets. The Prometheus service account must have the `list` and `watch` @@ -7974,11 +6391,11 @@ spec: type: object authorization: description: |- - Authorization section for the ScrapeClass. + authorization section for the ScrapeClass. It will only apply if the scrape resource doesn't specify any Authorization. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8000,11 +6417,11 @@ spec: type: object x-kubernetes-map-type: atomic credentialsFile: - description: File to read a secret from, mutually exclusive with `credentials`. + description: credentialsFile defines the file to read a secret from, mutually exclusive with `credentials`. type: string type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -8013,14 +6430,14 @@ spec: type: object default: description: |- - Default indicates that the scrape applies to all scrape objects that + default defines that the scrape applies to all scrape objects that don't configure an explicit scrape class name. Only one scrape class can be set as the default. type: boolean fallbackScrapeProtocol: description: |- - The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. + fallbackScrapeProtocol defines the protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. It will only apply if the scrape resource doesn't specify any FallbackScrapeProtocol It requires Prometheus >= v3.0.0. @@ -8033,7 +6450,7 @@ spec: type: string metricRelabelings: description: |- - MetricRelabelings configures the relabeling rules to apply to all samples before ingestion. + metricRelabelings defines the relabeling rules to apply to all samples before ingestion. The Operator adds the scrape class metric relabelings defined here. Then the Operator adds the target-specific metric relabelings defined in ServiceMonitors, PodMonitors, Probes and ScrapeConfigs. @@ -8050,7 +6467,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -8082,39 +6499,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -8124,12 +6541,12 @@ spec: type: object type: array name: - description: Name of the scrape class. + description: name of the scrape class. minLength: 1 type: string relabelings: description: |- - Relabelings configures the relabeling rules to apply to all scrape targets. + relabelings defines the relabeling rules to apply to all scrape targets. The Operator automatically adds relabelings for a few standard Kubernetes fields like `__meta_kubernetes_namespace` and `__meta_kubernetes_service_name`. @@ -8147,7 +6564,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -8179,39 +6596,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -8222,17 +6639,17 @@ spec: type: array tlsConfig: description: |- - TLSConfig defines the TLS settings to use for the scrape. When the + tlsConfig defines the TLS settings to use for the scrape. When the scrape objects define their own CA, certificate and/or key, they take precedence over the corresponding scrape class fields. For now only the `caFile`, `certFile` and `keyFile` fields are supported. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8254,7 +6671,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8277,13 +6694,13 @@ spec: x-kubernetes-map-type: atomic type: object caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. type: string cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8305,7 +6722,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8328,16 +6745,16 @@ spec: x-kubernetes-map-type: atomic type: object certFile: - description: Path to the client cert file in the Prometheus container for the targets. + description: certFile defines the path to the client cert file in the Prometheus container for the targets. type: string insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keyFile: - description: Path to the client key file in the Prometheus container for the targets. + description: keyFile defines the path to the client key file in the Prometheus container for the targets. type: string keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8360,7 +6777,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -8371,7 +6788,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -8381,7 +6798,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -8393,7 +6810,7 @@ spec: x-kubernetes-list-type: map scrapeClassicHistograms: description: |- - Whether to scrape a classic histogram that is also exposed as a native histogram. + scrapeClassicHistograms defines whether to scrape a classic histogram that is also exposed as a native histogram. Notice: `scrapeClassicHistograms` corresponds to the `always_scrape_classic_histograms` field in the Prometheus configuration. @@ -8401,7 +6818,7 @@ spec: type: boolean scrapeConfigNamespaceSelector: description: |- - Namespaces to match for ScrapeConfig discovery. An empty label selector + scrapeConfigNamespaceSelector defines the namespaces to match for ScrapeConfig discovery. An empty label selector matches all namespaces. A null label selector matches the current namespace only. @@ -8450,7 +6867,7 @@ spec: x-kubernetes-map-type: atomic scrapeConfigSelector: description: |- - ScrapeConfigs to be selected for target discovery. An empty label + scrapeConfigSelector defines the scrapeConfigs to be selected for target discovery. An empty label selector matches all objects. A null label selector matches no objects. If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` @@ -8507,7 +6924,7 @@ spec: x-kubernetes-map-type: atomic scrapeFailureLogFile: description: |- - File to which scrape failures are logged. + scrapeFailureLogFile defines the file to which scrape failures are logged. Reloading the configuration will reopen the file. If the filename has an empty path, e.g. 'file.log', The Prometheus Pods @@ -8520,14 +6937,19 @@ spec: scrapeInterval: default: 30s description: |- - Interval between consecutive scrapes. + scrapeInterval defines interval between consecutive scrapes. Default: "30s" pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string + scrapeNativeHistograms: + description: |- + scrapeNativeHistograms defines whether to enable scraping of native histograms. + It requires Prometheus >= v3.8.0. + type: boolean scrapeProtocols: description: |- - The protocols to negotiate during a scrape. It tells clients the + scrapeProtocols defines the protocols to negotiate during a scrape. It tells clients the protocols supported by Prometheus in order of preference (from most to least preferred). If unset, Prometheus uses its default value. @@ -8555,13 +6977,13 @@ spec: x-kubernetes-list-type: set scrapeTimeout: description: |- - Number of seconds to wait until a scrape request times out. + scrapeTimeout defines the number of seconds to wait until a scrape request times out. The value cannot be greater than the scrape interval otherwise the operator will reject the resource. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string secrets: description: |- - Secrets is a list of Secrets in the same namespace as the Prometheus + secrets defines a list of Secrets in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet definition as a volume named `secret-`. The Secrets are mounted into /etc/prometheus/secrets/ in the 'prometheus' container. @@ -8571,7 +6993,7 @@ spec: x-kubernetes-list-type: set securityContext: description: |- - SecurityContext holds pod-level security attributes and common container settings. + securityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext. properties: appArmorProfile: @@ -8800,12 +7222,12 @@ spec: type: object serviceAccountName: description: |- - ServiceAccountName is the name of the ServiceAccount to use to run the + serviceAccountName is the name of the ServiceAccount to use to run the Prometheus Pods. type: string serviceDiscoveryRole: description: |- - Defines the service discovery role used to discover targets from + serviceDiscoveryRole defines the service discovery role used to discover targets from `ServiceMonitor` objects and Alertmanager endpoints. If set, the value should be either "Endpoints" or "EndpointSlice". @@ -8816,7 +7238,7 @@ spec: type: string serviceMonitorNamespaceSelector: description: |- - Namespaces to match for ServicedMonitors discovery. An empty label selector + serviceMonitorNamespaceSelector defines the namespaces to match for ServicedMonitors discovery. An empty label selector matches all namespaces. A null label selector (default value) matches the current namespace only. properties: @@ -8863,7 +7285,7 @@ spec: x-kubernetes-map-type: atomic serviceMonitorSelector: description: |- - ServiceMonitors to be selected for target discovery. An empty label + serviceMonitorSelector defines the serviceMonitors to be selected for target discovery. An empty label selector matches all objects. A null label selector matches no objects. If `spec.serviceMonitorSelector`, `spec.podMonitorSelector`, `spec.probeSelector` @@ -8918,7 +7340,7 @@ spec: x-kubernetes-map-type: atomic serviceName: description: |- - The name of the service name used by the underlying StatefulSet(s) as the governing service. + serviceName defines the name of the service name used by the underlying StatefulSet(s) as the governing service. If defined, the Service must be created before the Prometheus/PrometheusAgent resource in the same namespace and it must define a selector that matches the pod labels. If empty, the operator will create and manage a headless service named `prometheus-operated` for Prometheus resources, or `prometheus-agent-operated` for PrometheusAgent resources. @@ -8926,48 +7348,9 @@ spec: See https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-network-id for more details. minLength: 1 type: string - sha: - description: 'Deprecated: use ''spec.image'' instead. The image''s digest can be specified as part of the image name.' - type: string - shardRetentionPolicy: - description: |- - ShardRetentionPolicy defines the retention policy for the Prometheus shards. - (Alpha) Using this field requires the 'PrometheusShardRetentionPolicy' feature gate to be enabled. - - The final goals for this feature can be seen at https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/proposals/202310-shard-autoscaling.md#graceful-scale-down-of-prometheus-servers, - however, the feature is not yet fully implemented in this PR. The limitation being: - * Retention duration is not settable, for now, shards are retained forever. - properties: - retain: - description: |- - Defines the config for retention when the retention policy is set to `Retain`. - This field is ineffective as of now. - properties: - retentionPeriod: - description: |- - Duration is a valid time duration that can be parsed by Prometheus model.ParseDuration() function. - Supported units: y, w, d, h, m, s, ms - Examples: `30s`, `1m`, `1h20m15s`, `15d` - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - required: - - retentionPeriod - type: object - whenScaled: - description: |- - Defines the retention policy when the Prometheus shards are scaled down. - * `Delete`, the operator will delete the pods from the scaled-down shard(s). - * `Retain`, the operator will keep the pods from the scaled-down shard(s), so the data can still be queried. - - If not defined, the operator assumes the `Delete` value. - enum: - - Retain - - Delete - type: string - type: object shards: description: |- - Number of shards to distribute the scraped targets onto. + shards defines the number of shards to distribute the scraped targets onto. `spec.replicas` multiplied by `spec.shards` is the total number of Pods being created. @@ -8996,14 +7379,14 @@ spec: format: int32 type: integer storage: - description: Storage defines the storage used by Prometheus. + description: storage defines the storage used by Prometheus. properties: disableMountSubPath: - description: 'Deprecated: subPath usage will be removed in a future release.' + description: 'disableMountSubPath deprecated: subPath usage will be removed in a future release.' type: boolean emptyDir: description: |- - EmptyDirVolumeSource to be used by the StatefulSet. + emptyDir to be used by the StatefulSet. If specified, it takes precedence over `ephemeral` and `volumeClaimTemplate`. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir properties: @@ -9030,7 +7413,7 @@ spec: type: object ephemeral: description: |- - EphemeralVolumeSource to be used by the StatefulSet. + ephemeral to be used by the StatefulSet. This is a beta field in k8s 1.21 and GA in 1.15. For lower versions, starting with k8s 1.19, it requires enabling the GenericEphemeralVolume feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes @@ -9266,7 +7649,7 @@ spec: type: object volumeClaimTemplate: description: |- - Defines the PVC spec to be used by the Prometheus StatefulSets. + volumeClaimTemplate defines the PVC spec to be used by the Prometheus StatefulSets. The easiest way to use a volume that cannot be automatically provisioned is to use a label selector alongside manually created PersistentVolumes. properties: @@ -9286,13 +7669,13 @@ spec: More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: - description: EmbeddedMetadata contains metadata relevant to an EmbeddedResource. + description: metadata defines EmbeddedMetadata contains metadata relevant to an EmbeddedResource. properties: annotations: additionalProperties: type: string description: |- - Annotations is an unstructured key value map stored with a resource that may be + annotations defines 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/ @@ -9301,14 +7684,14 @@ spec: additionalProperties: type: string description: |- - Map of string keys and values that can be used to organize and categorize + labels define the 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 name: description: |- - Name must be unique within a namespace. Is required when creating resources, although + 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. @@ -9318,7 +7701,7 @@ spec: type: object spec: description: |- - Defines the desired characteristics of a volume requested by a pod author. + spec defines the specification of the characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: @@ -9510,7 +7893,7 @@ spec: type: string type: object status: - description: 'Deprecated: this field is never set.' + description: 'status is deprecated: this field is never set.' properties: accessModes: description: |- @@ -9546,587 +7929,97 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: capacity represents the actual resources of the underlying volume. - type: object - conditions: - description: |- - conditions is the current Condition of persistent volume claim. If underlying persistent volume is being - resized then the Condition will be set to 'Resizing'. - items: - description: PersistentVolumeClaimCondition contains details about state of pvc - properties: - lastProbeTime: - description: lastProbeTime is the time we probed the condition. - format: date-time - type: string - lastTransitionTime: - description: lastTransitionTime is the time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: message is the human-readable message indicating details about last transition. - type: string - reason: - description: |- - reason is a unique, this should be a short, machine understandable string that gives the reason - for condition's last transition. If it reports "Resizing" that means the underlying - persistent volume is being resized. - type: string - status: - description: |- - Status is the status of the condition. - Can be True, False, Unknown. - More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=state%20of%20pvc-,conditions.status,-(string)%2C%20required - type: string - type: - description: |- - Type is the type of the condition. - More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=set%20to%20%27ResizeStarted%27.-,PersistentVolumeClaimCondition,-contains%20details%20about - type: string - required: - - status - - type - type: object - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - currentVolumeAttributesClassName: - description: |- - currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. - When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim - type: string - modifyVolumeStatus: - description: |- - ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. - When this is unset, there is no ModifyVolume operation being attempted. - properties: - status: - description: "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n the specified VolumeAttributesClass not existing.\n - InProgress\n InProgress indicates that the volume is being modified.\n - Infeasible\n Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately." - type: string - targetVolumeAttributesClassName: - description: targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled - type: string - required: - - status - type: object - phase: - description: phase represents the current phase of PersistentVolumeClaim. - type: string - type: object - type: object - type: object - tag: - description: 'Deprecated: use ''spec.image'' instead. The image''s tag can be specified as part of the image name.' - type: string - targetLimit: - description: |- - TargetLimit defines a limit on the number of scraped targets that will be accepted. - Only valid in Prometheus versions 2.45.0 and newer. - - Note that the global limit only applies to scrape objects that don't specify an explicit limit value. - If you want to enforce a maximum limit for all scrape objects, refer to enforcedTargetLimit. - format: int64 - type: integer - terminationGracePeriodSeconds: - description: |- - Optional duration in seconds the pod needs to terminate gracefully. - Value must be non-negative integer. The value zero indicates stop immediately via - the kill signal (no opportunity to shut down) which may lead to data corruption. - - Defaults to 600 seconds. - format: int64 - minimum: 0 - type: integer - thanos: - description: Defines the configuration of the optional Thanos sidecar. - properties: - additionalArgs: - description: |- - AdditionalArgs allows setting additional arguments for the Thanos container. - The arguments are passed as-is to the Thanos container which may cause issues - if they are invalid or not supported the given Thanos version. - In case of an argument conflict (e.g. an argument which is already set by the - operator itself) or when providing an invalid argument, the reconciliation will - fail and an error will be logged. - items: - description: Argument as part of the AdditionalArgs list. - properties: - name: - description: Name of the argument, e.g. "scrape.discovery-reload-interval". - minLength: 1 - type: string - value: - description: Argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) - type: string - required: - - name - type: object - type: array - baseImage: - description: 'Deprecated: use ''image'' instead.' - type: string - blockSize: - default: 2h - description: |- - BlockDuration controls the size of TSDB blocks produced by Prometheus. - The default value is 2h to match the upstream Prometheus defaults. - - WARNING: Changing the block duration can impact the performance and - efficiency of the entire Prometheus/Thanos stack due to how it interacts - with memory and Thanos compactors. It is recommended to keep this value - set to a multiple of 120 times your longest scrape or rule interval. For - example, 30s * 120 = 1h. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - getConfigInterval: - description: How often to retrieve the Prometheus configuration. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - getConfigTimeout: - description: Maximum time to wait when retrieving the Prometheus configuration. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - grpcListenLocal: - description: |- - When true, the Thanos sidecar listens on the loopback interface instead - of the Pod IP's address for the gRPC endpoints. - - It has no effect if `listenLocal` is true. - type: boolean - grpcServerTlsConfig: - description: |- - Configures the TLS parameters for the gRPC server providing the StoreAPI. - - Note: Currently only the `caFile`, `certFile`, and `keyFile` fields are supported. - properties: - ca: - description: Certificate authority used when verifying server certificates. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. - type: string - cert: - description: Client certificate to present when doing client-authentication. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the ConfigMap or its key must be defined - type: boolean - required: - - key + description: capacity represents the actual resources of the underlying volume. type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. + conditions: + description: |- + conditions is the current Condition of persistent volume claim. If underlying persistent volume is being + resized then the Condition will be set to 'Resizing'. + items: + description: PersistentVolumeClaimCondition contains details about state of pvc + properties: + lastProbeTime: + description: lastProbeTime is the time we probed the condition. + format: date-time + type: string + lastTransitionTime: + description: lastTransitionTime is the time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: message is the human-readable message indicating details about last transition. + type: string + reason: + description: |- + reason is a unique, this should be a short, machine understandable string that gives the reason + for condition's last transition. If it reports "Resizing" that means the underlying + persistent volume is being resized. + type: string + status: + description: |- + Status is the status of the condition. + Can be True, False, Unknown. + More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=state%20of%20pvc-,conditions.status,-(string)%2C%20required + type: string + type: + description: |- + Type is the type of the condition. + More info: https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=set%20to%20%27ResizeStarted%27.-,PersistentVolumeClaimCondition,-contains%20details%20about + type: string + required: + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + currentVolumeAttributesClassName: + description: |- + currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. + When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim + type: string + modifyVolumeStatus: + description: |- + ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. + When this is unset, there is no ModifyVolume operation being attempted. properties: - key: - description: The key of the secret to select from. Must be a valid secret key. + status: + description: "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n the specified VolumeAttributesClass not existing.\n - InProgress\n InProgress indicates that the volume is being modified.\n - Infeasible\n Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately." type: string - name: - default: "" - 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 + targetVolumeAttributesClassName: + description: targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean required: - - key + - status type: object - x-kubernetes-map-type: atomic - type: object - certFile: - description: Path to the client cert file in the Prometheus container for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: Path to the client key file in the Prometheus container for the targets. - type: string - keySecret: - description: Secret containing the client key file for the targets. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 + phase: + description: phase represents the current phase of PersistentVolumeClaim. type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - maxVersion: - description: |- - Maximum acceptable TLS version. - - It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 - type: string - minVersion: - description: |- - Minimum acceptable TLS version. - - It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. - enum: - - TLS10 - - TLS11 - - TLS12 - - TLS13 - type: string - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - httpListenLocal: - description: |- - When true, the Thanos sidecar listens on the loopback interface instead - of the Pod IP's address for the HTTP endpoints. - - It has no effect if `listenLocal` is true. - type: boolean - image: - description: |- - Container image name for Thanos. If specified, it takes precedence over - the `spec.thanos.baseImage`, `spec.thanos.tag` and `spec.thanos.sha` - fields. - - Specifying `spec.thanos.version` is still necessary to ensure the - Prometheus Operator knows which version of Thanos is being configured. - - If neither `spec.thanos.image` nor `spec.thanos.baseImage` are defined, - the operator will use the latest upstream version of Thanos available at - the time when the operator was released. - type: string - listenLocal: - description: 'Deprecated: use `grpcListenLocal` and `httpListenLocal` instead.' - type: boolean - logFormat: - description: Log format for the Thanos sidecar. - enum: - - "" - - logfmt - - json - type: string - logLevel: - description: Log level for the Thanos sidecar. - enum: - - "" - - debug - - info - - warn - - error - type: string - minTime: - description: |- - Defines the start of time range limit served by the Thanos sidecar's StoreAPI. - The field's value should be a constant time in RFC3339 format or a time - duration relative to current time, such as -1d or 2h45m. Valid duration - units are ms, s, m, h, d, w, y. - type: string - objectStorageConfig: - description: |- - Defines the Thanos sidecar's configuration to upload TSDB blocks to object storage. - - More info: https://thanos.io/tip/thanos/storage.md/ - - objectStorageConfigFile takes precedence over this field. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - objectStorageConfigFile: - description: |- - Defines the Thanos sidecar's configuration file to upload TSDB blocks to object storage. - - More info: https://thanos.io/tip/thanos/storage.md/ - - This field takes precedence over objectStorageConfig. - type: string - readyTimeout: - description: |- - ReadyTimeout is the maximum time that the Thanos sidecar will wait for - Prometheus to start. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - resources: - description: Defines the resources requests and limits of the Thanos sidecar. - properties: - claims: - description: |- - Claims lists the names of resources, defined in spec.resourceClaims, - that are used by this container. - - This field depends on the - DynamicResourceAllocation feature gate. - - This field is immutable. It can only be set for containers. - items: - description: ResourceClaim references one entry in PodSpec.ResourceClaims. - properties: - name: - description: |- - Name must match the name of one entry in pod.spec.resourceClaims of - the Pod where this field is used. It makes that resource available - inside a container. - type: string - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: |- - Limits describes the maximum amount of compute resources allowed. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - 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 type: object - sha: - description: 'Deprecated: use ''image'' instead. The image digest can be specified as part of the image name.' - type: string - tag: - description: 'Deprecated: use ''image'' instead. The image''s tag can be specified as as part of the image name.' - type: string - tracingConfig: - description: |- - Defines the tracing configuration for the Thanos sidecar. - - `tracingConfigFile` takes precedence over this field. - - More info: https://thanos.io/tip/thanos/tracing.md/ - - This is an *experimental feature*, it may change in any upcoming release - in a breaking way. - properties: - key: - description: The key of the secret to select from. Must be a valid secret key. - type: string - name: - default: "" - 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 - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - tracingConfigFile: - description: |- - Defines the tracing configuration file for the Thanos sidecar. - - This field takes precedence over `tracingConfig`. - - More info: https://thanos.io/tip/thanos/tracing.md/ - - This is an *experimental feature*, it may change in any upcoming release - in a breaking way. - type: string - version: - description: |- - Version of Thanos being deployed. The operator uses this information - to generate the Prometheus StatefulSet + configuration files. - - If not specified, the operator assumes the latest upstream release of - Thanos available at the time when the version of the operator was - released. - type: string - volumeMounts: - description: |- - VolumeMounts allows configuration of additional VolumeMounts for Thanos. - VolumeMounts specified will be appended to other VolumeMounts in the - 'thanos-sidecar' container. - 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 - 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 - recursiveReadOnly: - description: |- - RecursiveReadOnly specifies whether read-only mounts should be handled - recursively. - - If ReadOnly is false, this field has no meaning and must be unspecified. - - If 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 recursively read-only if it is - supported by the container runtime, otherwise the pod will not be started and - an error will be generated to indicate the reason. + type: object + targetLimit: + description: |- + targetLimit defines a limit on the number of scraped targets that will be accepted. + Only valid in Prometheus versions 2.45.0 and newer. - If this field is set to IfPossible or Enabled, MountPropagation must be set to - None (or be unspecified, which defaults to None). + Note that the global limit only applies to scrape objects that don't specify an explicit limit value. + If you want to enforce a maximum limit for all scrape objects, refer to enforcedTargetLimit. + format: int64 + type: integer + terminationGracePeriodSeconds: + description: |- + terminationGracePeriodSeconds defines the optional duration in seconds the pod needs to terminate gracefully. + Value must be non-negative integer. The value zero indicates stop immediately via + the kill signal (no opportunity to shut down) which may lead to data corruption. - If this field is not specified, it is treated as an equivalent of Disabled. - type: string - subPath: - description: |- - Path within the volume from which the container's volume should be mounted. - Defaults to "" (volume's root). - type: string - 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 - required: - - mountPath - - name - type: object - type: array - type: object + Defaults to 600 seconds. + format: int64 + minimum: 0 + type: integer tolerations: - description: Defines the Pods' tolerations if specified. + description: tolerations defines the Pods' tolerations if specified. items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -10165,11 +8058,11 @@ spec: type: object type: array topologySpreadConstraints: - description: Defines the pod's topology spread constraints if specified. + description: topologySpreadConstraints defines the pod's topology spread constraints if specified. items: properties: additionalLabelSelectors: - description: Defines what Prometheus Operator managed labels should be added to labelSelector on the topologySpreadConstraint. + description: additionalLabelSelectors Defines what Prometheus Operator managed labels should be added to labelSelector on the topologySpreadConstraint. enum: - OnResource - OnShard @@ -10342,53 +8235,56 @@ spec: type: array tracingConfig: description: |- - TracingConfig configures tracing in Prometheus. + tracingConfig defines tracing in Prometheus. This is an *experimental feature*, it may change in any upcoming release in a breaking way. properties: clientType: - description: Client used to export the traces. Supported values are `http` or `grpc`. + description: clientType defines the client used to export the traces. Supported values are `HTTP` and `GRPC`. enum: - http - grpc + - HTTP + - GRPC type: string compression: - description: Compression key for supported compression types. The only supported value is `gzip`. + description: compression key for supported compression types. The only supported value is `Gzip`. enum: - gzip + - Gzip type: string endpoint: - description: Endpoint to send the traces to. Should be provided in format :. + description: endpoint to send the traces to. Should be provided in format :. minLength: 1 type: string headers: additionalProperties: type: string - description: Key-value pairs to be used as headers associated with gRPC or HTTP requests. + description: headers defines the key-value pairs to be used as headers associated with gRPC or HTTP requests. type: object insecure: - description: If disabled, the client will use a secure connection. + description: insecure if disabled, the client will use a secure connection. type: boolean samplingFraction: anyOf: - type: integer - type: string - description: Sets the probability a given trace will be sampled. Must be a float from 0 through 1. + description: samplingFraction defines the probability a given trace will be sampled. Must be a float from 0 through 1. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true timeout: - description: Maximum time the exporter will wait for each batch export. + description: timeout defines the maximum time the exporter will wait for each batch export. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string tlsConfig: - description: TLS Config to use when sending traces. + description: tlsConfig to use when sending traces. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10410,7 +8306,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10433,13 +8329,13 @@ spec: x-kubernetes-map-type: atomic type: object caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. type: string cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10461,7 +8357,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10484,16 +8380,16 @@ spec: x-kubernetes-map-type: atomic type: object certFile: - description: Path to the client cert file in the Prometheus container for the targets. + description: certFile defines the path to the client cert file in the Prometheus container for the targets. type: string insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keyFile: - description: Path to the client key file in the Prometheus container for the targets. + description: keyFile defines the path to the client key file in the Prometheus container for the targets. type: string keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10516,7 +8412,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -10527,7 +8423,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -10537,7 +8433,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -10545,12 +8441,12 @@ spec: type: object tsdb: description: |- - Defines the runtime reloadable configuration of the timeseries database(TSDB). + tsdb defines the runtime reloadable configuration of the timeseries database(TSDB). It requires Prometheus >= v2.39.0 or PrometheusAgent >= v2.54.0. properties: outOfOrderTimeWindow: description: |- - Configures how old an out-of-order/out-of-bounds sample can be with + outOfOrderTimeWindow defines how old an out-of-order/out-of-bounds sample can be with respect to the TSDB max time. An out-of-order/out-of-bounds sample is ingested into the TSDB as long as @@ -10565,7 +8461,7 @@ spec: type: object version: description: |- - Version of Prometheus being deployed. The operator uses this information + version of Prometheus being deployed. The operator uses this information to generate the Prometheus StatefulSet + configuration files. If not specified, the operator assumes the latest upstream version of @@ -10574,7 +8470,7 @@ spec: type: string volumeMounts: description: |- - VolumeMounts allows the configuration of additional VolumeMounts. + volumeMounts allows the configuration of additional VolumeMounts. VolumeMounts will be appended to other VolumeMounts in the 'prometheus' container, that are generated as a result of StorageSpec objects. @@ -10641,7 +8537,7 @@ spec: type: array volumes: description: |- - Volumes allows the configuration of additional volumes on the output + volumes allows the configuration of additional volumes on the output StatefulSet definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects. items: @@ -12442,29 +10338,29 @@ spec: type: array walCompression: description: |- - Configures compression of the write-ahead log (WAL) using Snappy. + walCompression defines the compression of the write-ahead log (WAL) using Snappy. WAL compression is enabled by default for Prometheus >= 2.20.0 Requires Prometheus v2.11.0 and above. type: boolean web: - description: Defines the configuration of the Prometheus web server. + description: web defines the configuration of the Prometheus web server. properties: httpConfig: - description: Defines HTTP parameters for web server. + description: httpConfig defines HTTP parameters for web server. properties: headers: - description: List of headers that can be added to HTTP responses. + description: headers defines a list of headers that can be added to HTTP responses. properties: contentSecurityPolicy: description: |- - Set the Content-Security-Policy header to HTTP responses. + contentSecurityPolicy defines the Content-Security-Policy header to HTTP responses. Unset if blank. type: string strictTransportSecurity: description: |- - Set the Strict-Transport-Security header to HTTP responses. + strictTransportSecurity defines the Strict-Transport-Security header to HTTP responses. Unset if blank. Please make sure that you use this with care as this header might force browsers to load Prometheus and the other applications hosted on the same @@ -12473,7 +10369,7 @@ spec: type: string xContentTypeOptions: description: |- - Set the X-Content-Type-Options header to HTTP responses. + xContentTypeOptions defines the X-Content-Type-Options header to HTTP responses. Unset if blank. Accepted value is nosniff. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options enum: @@ -12482,7 +10378,7 @@ spec: type: string xFrameOptions: description: |- - Set the X-Frame-Options header to HTTP responses. + xFrameOptions defines the X-Frame-Options header to HTTP responses. Unset if blank. Accepted values are deny and sameorigin. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options enum: @@ -12492,41 +10388,41 @@ spec: type: string xXSSProtection: description: |- - Set the X-XSS-Protection header to all responses. + xXSSProtection defines the X-XSS-Protection header to all responses. Unset if blank. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection type: string type: object http2: description: |- - Enable HTTP/2 support. Note that HTTP/2 is only supported with TLS. + http2 enable HTTP/2 support. Note that HTTP/2 is only supported with TLS. When TLSConfig is not configured, HTTP/2 will be disabled. Whenever the value of the field changes, a rolling update will be triggered. type: boolean type: object maxConnections: description: |- - Defines the maximum number of simultaneous connections + maxConnections defines the maximum number of simultaneous connections A zero value means that Prometheus doesn't accept any incoming connection. format: int32 minimum: 0 type: integer pageTitle: - description: The prometheus web page title. + description: pageTitle defines the prometheus web page title. type: string tlsConfig: - description: Defines the TLS parameters for HTTPS. + description: tlsConfig defines the TLS parameters for HTTPS. properties: cert: description: |- - Secret or ConfigMap containing the TLS certificate for the web server. + cert defines the Secret or ConfigMap containing the TLS certificate for the web server. Either `keySecret` or `keyFile` must be defined. It is mutually exclusive with `certFile`. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -12548,7 +10444,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -12572,7 +10468,7 @@ spec: type: object certFile: description: |- - Path to the TLS certificate file in the container for the web server. + certFile defines the path to the TLS certificate file in the container for the web server. Either `keySecret` or `keyFile` must be defined. @@ -12580,7 +10476,7 @@ spec: type: string cipherSuites: description: |- - List of supported cipher suites for TLS versions up to TLS 1.2. + cipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. If not defined, the Go default cipher suites are used. Available cipher suites are documented in the Go documentation: @@ -12590,13 +10486,13 @@ spec: type: array client_ca: description: |- - Secret or ConfigMap containing the CA certificate for client certificate + client_ca defines the Secret or ConfigMap containing the CA certificate for client certificate authentication to the server. It is mutually exclusive with `clientCAFile`. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -12618,7 +10514,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -12642,21 +10538,21 @@ spec: type: object clientAuthType: description: |- - The server policy for client TLS authentication. + clientAuthType defines the server policy for client TLS authentication. For more detail on clientAuth options: https://golang.org/pkg/crypto/tls/#ClientAuthType type: string clientCAFile: description: |- - Path to the CA certificate file for client certificate authentication to + clientCAFile defines the path to the CA certificate file for client certificate authentication to the server. It is mutually exclusive with `client_ca`. type: string curvePreferences: description: |- - Elliptic curves that will be used in an ECDHE handshake, in preference + curvePreferences defines elliptic curves that will be used in an ECDHE handshake, in preference order. Available curves are documented in the Go documentation: @@ -12666,7 +10562,7 @@ spec: type: array keyFile: description: |- - Path to the TLS private key file in the container for the web server. + keyFile defines the path to the TLS private key file in the container for the web server. If defined, either `cert` or `certFile` must be defined. @@ -12674,7 +10570,7 @@ spec: type: string keySecret: description: |- - Secret containing the TLS private key for the web server. + keySecret defines the secret containing the TLS private key for the web server. Either `cert` or `certFile` must be defined. @@ -12700,14 +10596,14 @@ spec: type: object x-kubernetes-map-type: atomic maxVersion: - description: Maximum TLS version that is acceptable. + description: maxVersion defines the Maximum TLS version that is acceptable. type: string minVersion: - description: Minimum TLS version that is acceptable. + description: minVersion defines the minimum TLS version that is acceptable. type: string preferServerCipherSuites: description: |- - Controls whether the server selects the client's most preferred cipher + preferServerCipherSuites defines whether the server selects the client's most preferred cipher suite, or the server's most preferred cipher suite. If true then the server's preference, as expressed in @@ -12716,20 +10612,33 @@ spec: type: object type: object type: object + x-kubernetes-validations: + - message: replicas cannot be set when mode is DaemonSet + rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.replicas))' + - message: storage cannot be set when mode is DaemonSet + rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.storage))' + - message: shards cannot be greater than 1 when mode is DaemonSet + rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.shards) && self.shards > 1)' + - message: persistentVolumeClaimRetentionPolicy cannot be set when mode is DaemonSet + rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.persistentVolumeClaimRetentionPolicy))' + - message: scrapeConfigSelector cannot be set when mode is DaemonSet + rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.scrapeConfigSelector))' + - message: probeSelector cannot be set when mode is DaemonSet + rule: '!(has(self.mode) && self.mode == ''DaemonSet'' && has(self.probeSelector))' status: description: |- - Most recent observed status of the Prometheus cluster. Read-only. + status defines the most recent observed status of the Prometheus cluster. Read-only. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: availableReplicas: description: |- - Total number of available pods (ready for at least minReadySeconds) + availableReplicas defines the total number of available pods (ready for at least minReadySeconds) targeted by this Prometheus deployment. format: int32 type: integer conditions: - description: The current state of the Prometheus deployment. + description: conditions defines the current state of the Prometheus deployment. items: description: |- Condition represents the state of the resources associated with the @@ -12740,11 +10649,11 @@ spec: format: date-time type: string message: - description: Human-readable message indicating details for the condition's last transition. + description: message defines human-readable message indicating details for the condition's last transition. type: string observedGeneration: description: |- - ObservedGeneration represents the .metadata.generation that the + observedGeneration defines the .metadata.generation that the condition was set based upon. For instance, if `.metadata.generation` is currently 12, but the `.status.conditions[].observedGeneration` is 9, the condition is out of date with respect to the current state of the @@ -12752,14 +10661,14 @@ spec: format: int64 type: integer reason: - description: Reason for the condition's last transition. + description: reason for the condition's last transition. type: string status: - description: Status of the condition. + description: status of the condition. minLength: 1 type: string type: - description: Type of the condition being reported. + description: type of the condition being reported. minLength: 1 type: string required: @@ -12773,42 +10682,42 @@ spec: x-kubernetes-list-type: map paused: description: |- - Represents whether any actions on the underlying managed objects are + paused defines whether any actions on the underlying managed objects are being performed. Only delete actions will be performed. type: boolean replicas: description: |- - Total number of non-terminated pods targeted by this Prometheus deployment + replicas defines the total number of non-terminated pods targeted by this Prometheus deployment (their labels match the selector). format: int32 type: integer selector: - description: The selector used to match the pods targeted by this Prometheus resource. + description: selector used to match the pods targeted by this Prometheus resource. type: string shardStatuses: - description: The list has one entry per shard. Each entry provides a summary of the shard status. + description: shardStatuses defines the list has one entry per shard. Each entry provides a summary of the shard status. items: properties: availableReplicas: description: |- - Total number of available pods (ready for at least minReadySeconds) + availableReplicas defines the total number of available pods (ready for at least minReadySeconds) targeted by this shard. format: int32 type: integer replicas: - description: Total number of pods targeted by this shard. + description: replicas defines the total number of pods targeted by this shard. format: int32 type: integer shardID: - description: Identifier of the shard. + description: shardID defines the identifier of the shard. type: string unavailableReplicas: - description: Total number of unavailable pods targeted by this shard. + description: unavailableReplicas defines the Total number of unavailable pods targeted by this shard. format: int32 type: integer updatedReplicas: description: |- - Total number of non-terminated pods targeted by this shard + updatedReplicas defines the total number of non-terminated pods targeted by this shard that have the desired spec. format: int32 type: integer @@ -12824,25 +10733,19 @@ spec: - shardID x-kubernetes-list-type: map shards: - description: Shards is the most recently observed number of shards. + description: shards defines the most recently observed number of shards. format: int32 type: integer unavailableReplicas: - description: Total number of unavailable pods targeted by this Prometheus deployment. + description: unavailableReplicas defines the total number of unavailable pods targeted by this Prometheus deployment. format: int32 type: integer updatedReplicas: description: |- - Total number of non-terminated pods targeted by this Prometheus deployment + updatedReplicas defines the total number of non-terminated pods targeted by this Prometheus deployment that have the desired version spec. format: int32 type: integer - required: - - availableReplicas - - paused - - replicas - - unavailableReplicas - - updatedReplicas type: object required: - spec diff --git a/modules/observability/prometheus-operator/base/crds/prometheusrules.monitoring.coreos.com.yaml b/modules/observability/prometheus-operator/base/crds/prometheusrules.monitoring.coreos.com.yaml index 60073b14..72909c30 100644 --- a/modules/observability/prometheus-operator/base/crds/prometheusrules.monitoring.coreos.com.yaml +++ b/modules/observability/prometheus-operator/base/crds/prometheusrules.monitoring.coreos.com.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 - operator.prometheus.io/version: 0.85.0 + controller-gen.kubebuilder.io/version: v0.19.0 + operator.prometheus.io/version: 0.87.1 name: prometheusrules.monitoring.coreos.com spec: group: monitoring.coreos.com @@ -45,22 +45,22 @@ spec: metadata: type: object spec: - description: Specification of desired alerting rule definitions for Prometheus. + description: spec defines the specification of desired alerting rule definitions for Prometheus. properties: groups: - description: Content of Prometheus rule file + description: groups defines the content of Prometheus rule file items: description: RuleGroup is a list of sequentially evaluated recording and alerting rules. properties: interval: - description: Interval determines how often rules in the group are evaluated. + description: interval defines how often rules in the group are evaluated. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string labels: additionalProperties: type: string description: |- - Labels to add or overwrite before storing the result for its rules. + labels define the labels to add or overwrite before storing the result for its rules. The labels defined at the rule level take precedence. It requires Prometheus >= 3.0.0. @@ -68,31 +68,31 @@ spec: type: object limit: description: |- - Limit the number of alerts an alerting rule and series a recording + limit defines the number of alerts an alerting rule and series a recording rule can produce. Limit is supported starting with Prometheus >= 2.31 and Thanos Ruler >= 0.24. type: integer name: - description: Name of the rule group. + description: name defines the name of the rule group. minLength: 1 type: string partial_response_strategy: description: |- - PartialResponseStrategy is only used by ThanosRuler and will + partial_response_strategy is only used by ThanosRuler and will be ignored by Prometheus instances. More info: https://github.com/thanos-io/thanos/blob/main/docs/components/rule.md#partial-response pattern: ^(?i)(abort|warn)?$ type: string query_offset: description: |- - Defines the offset the rule evaluation timestamp of this particular group by the specified duration into the past. + query_offset defines the offset the rule evaluation timestamp of this particular group by the specified duration into the past. It requires Prometheus >= v2.53.0. It is not supported for ThanosRuler. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string rules: - description: List of alerting and recording rules. + description: rules defines the list of alerting and recording rules. items: description: |- Rule describes an alerting or recording rule @@ -100,39 +100,39 @@ spec: properties: alert: description: |- - Name of the alert. Must be a valid label value. + alert defines the name of the alert. Must be a valid label value. Only one of `record` and `alert` must be set. type: string annotations: additionalProperties: type: string description: |- - Annotations to add to each alert. + annotations defines annotations to add to each alert. Only valid for alerting rules. type: object expr: anyOf: - type: integer - type: string - description: PromQL expression to evaluate. + description: expr defines the PromQL expression to evaluate. x-kubernetes-int-or-string: true for: - description: Alerts are considered firing once they have been returned for this long. + description: for defines how alerts are considered firing once they have been returned for this long. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string keep_firing_for: - description: KeepFiringFor defines how long an alert will continue firing after the condition that triggered it has cleared. + description: keep_firing_for defines how long an alert will continue firing after the condition that triggered it has cleared. minLength: 1 pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string labels: additionalProperties: type: string - description: Labels to add or overwrite. + description: labels defines labels to add or overwrite. type: object record: description: |- - Name of the time series to output to. Must be a valid metric name. + record defines the name of the time series to output to. Must be a valid metric name. Only one of `record` and `alert` must be set. type: string required: @@ -147,8 +147,103 @@ spec: - name x-kubernetes-list-type: map type: object + status: + description: |- + status defines the status subresource. It is under active development and is updated only when the + "StatusForConfigurationResources" feature gate is enabled. + + Most recent observed status of the PrometheusRule. Read-only. + More info: + https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + bindings: + description: bindings defines the list of workload resources (Prometheus, PrometheusAgent, ThanosRuler or Alertmanager) which select the configuration resource. + items: + description: WorkloadBinding is a link between a configuration resource and a workload resource. + properties: + conditions: + description: conditions defines the current state of the configuration resource when bound to the referenced Workload object. + items: + description: ConfigResourceCondition describes the status of configuration resources linked to Prometheus, PrometheusAgent, Alertmanager or ThanosRuler. + properties: + lastTransitionTime: + description: lastTransitionTime defines the time of the last update to the current status property. + format: date-time + type: string + message: + description: message defines the human-readable message indicating details for the condition's last transition. + type: string + observedGeneration: + description: |- + observedGeneration defines the .metadata.generation that the + condition was set based upon. For instance, if `.metadata.generation` is + currently 12, but the `.status.conditions[].observedGeneration` is 9, the + condition is out of date with respect to the current state of the object. + format: int64 + type: integer + reason: + description: reason for the condition's last transition. + type: string + status: + description: status of the condition. + minLength: 1 + type: string + type: + description: |- + type of the condition being reported. + Currently, only "Accepted" is supported. + enum: + - Accepted + minLength: 1 + type: string + required: + - lastTransitionTime + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + group: + description: group defines the group of the referenced resource. + enum: + - monitoring.coreos.com + type: string + name: + description: name defines the name of the referenced object. + minLength: 1 + type: string + namespace: + description: namespace defines the namespace of the referenced object. + minLength: 1 + type: string + resource: + description: resource defines the type of resource being referenced (e.g. Prometheus, PrometheusAgent, ThanosRuler or Alertmanager). + enum: + - prometheuses + - prometheusagents + - thanosrulers + - alertmanagers + type: string + required: + - group + - name + - namespace + - resource + type: object + type: array + x-kubernetes-list-map-keys: + - group + - resource + - name + - namespace + x-kubernetes-list-type: map + type: object required: - spec type: object served: true storage: true + subresources: + status: {} diff --git a/modules/observability/prometheus-operator/base/crds/scrapeconfigs.monitoring.coreos.com.yaml b/modules/observability/prometheus-operator/base/crds/scrapeconfigs.monitoring.coreos.com.yaml index bce9eecf..a121edc9 100644 --- a/modules/observability/prometheus-operator/base/crds/scrapeconfigs.monitoring.coreos.com.yaml +++ b/modules/observability/prometheus-operator/base/crds/scrapeconfigs.monitoring.coreos.com.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 - operator.prometheus.io/version: 0.85.0 + controller-gen.kubebuilder.io/version: v0.19.0 + operator.prometheus.io/version: 0.87.1 name: scrapeconfigs.monitoring.coreos.com spec: group: monitoring.coreos.com @@ -44,13 +44,13 @@ spec: metadata: type: object spec: - description: ScrapeConfigSpec is a specification of the desired configuration for a scrape configuration. + description: spec defines the specification of ScrapeConfigSpec. properties: authorization: - description: Authorization header to use on every scrape request. + description: authorization defines the header to use on every scrape request. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -73,7 +73,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -81,7 +81,7 @@ spec: type: string type: object azureSDConfigs: - description: AzureSDConfigs defines a list of Azure service discovery configurations. + description: azureSDConfigs defines a list of Azure service discovery configurations. items: description: |- AzureSDConfig allow retrieving scrape targets from Azure VMs. @@ -89,7 +89,7 @@ spec: properties: authenticationMethod: description: |- - # The authentication method, either `OAuth` or `ManagedIdentity` or `SDK`. + authenticationMethod defines the authentication method, either `OAuth` or `ManagedIdentity` or `SDK`. See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview SDK authentication method uses environment variables by default. See https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication @@ -100,11 +100,11 @@ spec: type: string authorization: description: |- - Authorization header configuration to authenticate against the target HTTP endpoint. + authorization defines the authorization header configuration to authenticate against the target HTTP endpoint. Cannot be set at the same time as `oAuth2`, or `basicAuth`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -127,7 +127,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -136,13 +136,13 @@ spec: type: object basicAuth: description: |- - BasicAuth information to authenticate against the target HTTP endpoint. + basicAuth defines the information to authenticate against the target HTTP endpoint. More info: https://prometheus.io/docs/operating/configuration/#endpoints Cannot be set at the same time as `authorization`, or `oAuth2`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -166,7 +166,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -190,11 +190,11 @@ spec: x-kubernetes-map-type: atomic type: object clientID: - description: Optional client ID. Only required with the OAuth authentication method. + description: clientID defines client ID. Only required with the OAuth authentication method. minLength: 1 type: string clientSecret: - description: Optional client secret. Only required with the OAuth authentication method. + description: clientSecret defines client secret. Only required with the OAuth authentication method. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -216,35 +216,33 @@ spec: type: object x-kubernetes-map-type: atomic enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean environment: - description: The Azure environment. + description: environment defines the Azure environment. minLength: 1 type: string followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: |- - Optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint. - Cannot be set at the same time as `authorization`, or `basicAuth`. + description: oauth2 defines the configuration to use on every scrape request. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -266,7 +264,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -290,7 +288,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -316,12 +314,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -353,7 +351,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -361,29 +359,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -405,7 +403,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -428,10 +426,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -453,7 +451,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -476,10 +474,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -502,7 +500,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -513,7 +511,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -523,11 +521,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -537,7 +535,7 @@ spec: type: object port: description: |- - The port to scrape metrics from. If using the public IP address, this must + port defines the port to scrape metrics from. If using the public IP address, this must instead be specified in the relabeling rule. format: int32 maximum: 65535 @@ -569,7 +567,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -577,40 +575,42 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: RefreshInterval configures the refresh interval at which Prometheus will re-read the instance list. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string resourceGroup: description: |- - Optional resource group name. Limits discovery to this resource group. + resourceGroup defines resource group name. Limits discovery to this resource group. Requires Prometheus v2.35.0 and above minLength: 1 type: string subscriptionID: - description: The subscription ID. Always required. + description: subscriptionID defines subscription ID. Always required. minLength: 1 type: string tenantID: - description: Optional tenant ID. Only required with the OAuth authentication method. + description: tenantID defines tenant ID. Only required with the OAuth authentication method. minLength: 1 type: string tlsConfig: - description: TLS configuration applying to the target HTTP endpoint. + description: tlsConfig defies the TLS configuration applying to the target HTTP endpoint. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -632,7 +632,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -655,10 +655,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -680,7 +680,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -703,10 +703,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -729,7 +729,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -740,7 +740,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -750,7 +750,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -758,11 +758,11 @@ spec: type: object type: array basicAuth: - description: BasicAuth information to use on every scrape request. + description: basicAuth defines information to use on every scrape request. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -786,7 +786,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -810,7 +810,7 @@ spec: x-kubernetes-map-type: atomic type: object consulSDConfigs: - description: ConsulSDConfigs defines a list of Consul service discovery configurations. + description: consulSDConfigs defines a list of Consul service discovery configurations. items: description: |- ConsulSDConfig defines a Consul service discovery configuration @@ -818,16 +818,16 @@ spec: properties: allowStale: description: |- - Allow stale Consul results (see https://www.consul.io/api/features/consistency.html). Will reduce load on Consul. + allowStale Consul results (see https://www.consul.io/api/features/consistency.html). Will reduce load on Consul. If unset, Prometheus uses its default value. type: boolean authorization: description: |- - Optional Authorization header configuration to authenticate against the Consul Server. + authorization defines the header configuration to authenticate against the Consul Server. Cannot be set at the same time as `basicAuth`, or `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -850,7 +850,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -859,13 +859,13 @@ spec: type: object basicAuth: description: |- - Optional BasicAuth information to authenticate against the Consul Server. + basicAuth defines the information to authenticate against the Consul Server. More info: https://prometheus.io/docs/operating/configuration/#endpoints Cannot be set at the same time as `authorization`, or `oauth2`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -889,7 +889,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -913,36 +913,32 @@ spec: x-kubernetes-map-type: atomic type: object datacenter: - description: Consul Datacenter name, if not provided it will use the local Consul Agent Datacenter. + description: datacenter defines the consul Datacenter name, if not provided it will use the local Consul Agent Datacenter. minLength: 1 type: string enableHTTP2: - description: |- - Whether to enable HTTP2. - If unset, Prometheus uses its default value. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean filter: description: |- - Filter expression used to filter the catalog results. + filter defines the filter expression used to filter the catalog results. See https://www.consul.io/api-docs/catalog#list-services It requires Prometheus >= 3.0.0. minLength: 1 type: string followRedirects: - description: |- - Configure whether HTTP requests follow HTTP 3xx redirects. - If unset, Prometheus uses its default value. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean namespace: description: |- - Namespaces are only supported in Consul Enterprise. + namespace are only supported in Consul Enterprise. It requires Prometheus >= 2.28.0. minLength: 1 type: string noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -952,22 +948,22 @@ spec: additionalProperties: type: string description: |- - Node metadata key/value pairs to filter nodes for a given service. + nodeMeta defines the node metadata key/value pairs to filter nodes for a given service. Starting with Consul 1.14, it is recommended to use `filter` with the `NodeMeta` selector instead. type: object x-kubernetes-map-type: atomic oauth2: description: |- - Optional OAuth2.0 configuration. - Cannot be set at the same time as `basicAuth`, or `authorization`. + oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint. + Cannot be set at the same time as `authorization`, or `basicAuth`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -989,7 +985,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1013,7 +1009,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -1039,12 +1035,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -1076,7 +1072,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -1084,29 +1080,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1128,7 +1124,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1151,10 +1147,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1176,7 +1172,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1199,10 +1195,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1225,7 +1221,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -1236,7 +1232,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -1246,11 +1242,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -1259,12 +1255,12 @@ spec: - tokenUrl type: object partition: - description: Admin Partitions are only supported in Consul Enterprise. + description: partition defines the admin Partitions are only supported in Consul Enterprise. minLength: 1 type: string pathPrefix: description: |- - Prefix for URIs for when consul is behind an API gateway (reverse proxy). + pathPrefix defines the prefix for URIs for when consul is behind an API gateway (reverse proxy). It requires Prometheus >= 2.45.0. minLength: 1 @@ -1295,7 +1291,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -1303,59 +1299,60 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: description: |- - The time after which the provided names are refreshed. - On large setup it might be a good idea to increase this value because the catalog will change all the time. - If unset, Prometheus uses its default value. + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string scheme: - description: HTTP Scheme default "http" + description: scheme defines the HTTP Scheme. enum: + - http + - https - HTTP - HTTPS type: string server: - description: Consul server address. A valid string consisting of a hostname or IP followed by an optional port number. + description: server defines the consul server address. A valid string consisting of a hostname or IP followed by an optional port number. minLength: 1 type: string services: - description: A list of services for which targets are retrieved. If omitted, all services are scraped. + description: services defines a list of services for which targets are retrieved. If omitted, all services are scraped. items: type: string type: array x-kubernetes-list-type: set tagSeparator: description: |- - The string by which Consul tags are joined into the tag label. + tagSeparator defines the string by which Consul tags are joined into the tag label. If unset, Prometheus uses its default value. minLength: 1 type: string tags: description: |- - An optional list of tags used to filter nodes for a given service. Services must contain all tags in the list. + tags defines an optional list of tags used to filter nodes for a given service. Services must contain all tags in the list. Starting with Consul 1.14, it is recommended to use `filter` with the `ServiceTags` selector instead. items: type: string type: array x-kubernetes-list-type: set tlsConfig: - description: TLS configuration to connect to the Consul API. + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1377,7 +1374,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1400,10 +1397,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1425,7 +1422,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1448,10 +1445,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1474,7 +1471,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -1485,7 +1482,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -1495,11 +1492,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenRef: - description: Consul ACL TokenRef, if not provided it will use the ACL from the local Consul Agent. + description: tokenRef defines the consul ACL TokenRef, if not provided it will use the ACL from the local Consul Agent. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1526,11 +1523,11 @@ spec: type: array convertClassicHistogramsToNHCB: description: |- - Whether to convert all scraped classic histograms into a native histogram with custom buckets. + convertClassicHistogramsToNHCB defines whether to convert all scraped classic histograms into a native histogram with custom buckets. It requires Prometheus >= v3.0.0. type: boolean digitalOceanSDConfigs: - description: DigitalOceanSDConfigs defines a list of DigitalOcean service discovery configurations. + description: digitalOceanSDConfigs defines a list of DigitalOcean service discovery configurations. items: description: |- DigitalOceanSDConfig allow retrieving scrape targets from DigitalOcean's Droplets API. @@ -1539,11 +1536,11 @@ spec: properties: authorization: description: |- - Authorization header configuration to authenticate against the DigitalOcean API. + authorization defines the header configuration to authenticate against the DigitalOcean API. Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1566,7 +1563,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -1574,31 +1571,29 @@ spec: type: string type: object enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: |- - Optional OAuth 2.0 configuration. - Cannot be set at the same time as `authorization`. + description: oauth2 defines the configuration to use on every scrape request. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1620,7 +1615,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1644,7 +1639,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -1670,12 +1665,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -1707,7 +1702,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -1715,29 +1710,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1759,7 +1754,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1782,10 +1777,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1807,7 +1802,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1830,10 +1825,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1856,7 +1851,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -1867,7 +1862,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -1877,11 +1872,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -1890,7 +1885,7 @@ spec: - tokenUrl type: object port: - description: The port to scrape metrics from. + description: port defines the port to scrape metrics from. If using the public IP address, this must format: int32 maximum: 65535 minimum: 0 @@ -1921,7 +1916,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -1929,26 +1924,28 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: Refresh interval to re-read the instance list. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string tlsConfig: - description: TLS configuration applying to the target HTTP endpoint. + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -1970,7 +1967,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -1993,10 +1990,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2018,7 +2015,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2041,10 +2038,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2067,7 +2064,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -2078,7 +2075,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -2088,13 +2085,13 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object type: array dnsSDConfigs: - description: DNSSDConfigs defines a list of DNS service discovery configurations. + description: dnsSDConfigs defines a list of DNS service discovery configurations. items: description: |- DNSSDConfig allows specifying a set of DNS domain names which are periodically queried to discover a list of targets. @@ -2102,7 +2099,7 @@ spec: See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dns_sd_config properties: names: - description: A list of DNS domain names to be queried. + description: names defines a list of DNS domain names to be queried. items: minLength: 1 type: string @@ -2110,7 +2107,7 @@ spec: type: array port: description: |- - The port number used if the query type is not SRV + port defines the port to scrape metrics from. If using the public IP address, this must Ignored for SRV records format: int32 maximum: 65535 @@ -2118,13 +2115,13 @@ spec: type: integer refreshInterval: description: |- - RefreshInterval configures the time after which the provided names are refreshed. + refreshInterval defines the time after which the provided names are refreshed. If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string type: description: |- - The type of DNS query to perform. One of SRV, A, AAAA, MX or NS. + type defines the type of DNS query to perform. One of SRV, A, AAAA, MX or NS. If not set, Prometheus uses its default value. When set to NS, it requires Prometheus >= v2.49.0. @@ -2141,7 +2138,7 @@ spec: type: object type: array dockerSDConfigs: - description: DockerSDConfigs defines a list of Docker service discovery configurations. + description: dockerSDConfigs defines a list of Docker service discovery configurations. items: description: |- Docker SD configurations allow retrieving scrape targets from Docker Engine hosts. @@ -2151,11 +2148,11 @@ spec: properties: authorization: description: |- - Authorization header configuration to authenticate against the Docker API. + authorization defines the header configuration to authenticate against the DigitalOcean API. Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2178,7 +2175,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -2186,11 +2183,11 @@ spec: type: string type: object basicAuth: - description: BasicAuth information to use on every scrape request. + description: basicAuth defines information to use on every scrape request. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -2214,7 +2211,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -2238,18 +2235,18 @@ spec: x-kubernetes-map-type: atomic type: object enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean filters: - description: Optional filters to limit the discovery process to a subset of the available resources. + description: filters defines filters to limit the discovery process to a subset of the available resources. items: description: Filter name and value pairs to limit the discovery process to a subset of available resources. properties: name: - description: Name of the Filter. + description: name of the Filter. type: string values: - description: Value to filter on. + description: values defines values to filter on. items: minLength: 1 type: string @@ -2265,42 +2262,40 @@ spec: - name x-kubernetes-list-type: map followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean host: - description: Address of the docker daemon + description: host defines the address of the docker daemon minLength: 1 type: string hostNetworkingHost: - description: The host to use if the container is in host networking mode. + description: hostNetworkingHost defines the host to use if the container is in host networking mode. minLength: 1 type: string matchFirstNetwork: description: |- - Configure whether to match the first network if the container has multiple networks defined. + matchFirstNetwork defines whether to match the first network if the container has multiple networks defined. If unset, Prometheus uses true by default. It requires Prometheus >= v2.54.1. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: |- - Optional OAuth 2.0 configuration. - Cannot be set at the same time as `authorization`. + description: oauth2 defines the configuration to use on every scrape request. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2322,7 +2317,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2346,7 +2341,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -2372,12 +2367,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -2409,7 +2404,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -2417,29 +2412,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2461,7 +2456,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2484,10 +2479,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2509,7 +2504,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2532,10 +2527,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2558,7 +2553,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -2569,7 +2564,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -2579,11 +2574,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -2592,7 +2587,7 @@ spec: - tokenUrl type: object port: - description: The port to scrape metrics from. + description: port defines the port to scrape metrics from. If using the public IP address, this must format: int32 maximum: 65535 minimum: 0 @@ -2623,7 +2618,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -2631,26 +2626,28 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: Time after which the container is refreshed. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string tlsConfig: - description: TLS configuration applying to the target HTTP endpoint. + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2672,7 +2669,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2695,10 +2692,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2720,7 +2717,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2743,10 +2740,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2769,7 +2766,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -2780,7 +2777,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -2790,7 +2787,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -2798,17 +2795,19 @@ spec: type: object type: array dockerSwarmSDConfigs: - description: DockerswarmSDConfigs defines a list of Dockerswarm service discovery configurations. + description: dockerSwarmSDConfigs defines a list of Dockerswarm service discovery configurations. items: description: |- DockerSwarmSDConfig configurations allow retrieving scrape targets from Docker Swarm engine. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dockerswarm_sd_config properties: authorization: - description: Authorization header configuration to authenticate against the target HTTP endpoint. + description: |- + authorization defines the header configuration to authenticate against the DigitalOcean API. + Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2831,7 +2830,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -2839,11 +2838,11 @@ spec: type: string type: object basicAuth: - description: Optional HTTP basic authentication information. + description: basicAuth defines information to use on every scrape request. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -2867,7 +2866,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -2891,11 +2890,11 @@ spec: x-kubernetes-map-type: atomic type: object enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean filters: description: |- - Optional filters to limit the discovery process to a subset of available + filters defines the filters to limit the discovery process to a subset of available resources. The available filters are listed in the upstream documentation: Services: https://docs.docker.com/engine/api/v1.40/#operation/ServiceList @@ -2905,10 +2904,10 @@ spec: description: Filter name and value pairs to limit the discovery process to a subset of available resources. properties: name: - description: Name of the Filter. + description: name of the Filter. type: string values: - description: Value to filter on. + description: values defines values to filter on. items: minLength: 1 type: string @@ -2924,15 +2923,15 @@ spec: - name x-kubernetes-list-type: map followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean host: - description: Address of the Docker daemon + description: host defines the address of the Docker daemon pattern: ^[a-zA-Z][a-zA-Z0-9+.-]*://.+$ type: string noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -2940,16 +2939,16 @@ spec: type: string oauth2: description: |- - Optional OAuth 2.0 configuration. + oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint. Cannot be set at the same time as `authorization`, or `basicAuth`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2971,7 +2970,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2995,7 +2994,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -3021,12 +3020,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -3058,7 +3057,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -3066,29 +3065,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3110,7 +3109,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3133,10 +3132,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3158,7 +3157,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3181,10 +3180,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3207,7 +3206,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -3218,7 +3217,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -3228,11 +3227,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -3242,7 +3241,7 @@ spec: type: object port: description: |- - The port to scrape metrics from, when `role` is nodes, and for discovered + port defines the port to scrape metrics from. If using the public IP address, this must tasks and services that don't have published ports. format: int32 maximum: 65535 @@ -3274,7 +3273,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -3282,33 +3281,35 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: The time after which the service discovery data is refreshed. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string role: - description: Role of the targets to retrieve. Must be `Services`, `Tasks`, or `Nodes`. + description: role of the targets to retrieve. Must be `Services`, `Tasks`, or `Nodes`. enum: - Services - Tasks - Nodes type: string tlsConfig: - description: TLS configuration to use on every scrape request + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3330,7 +3331,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3353,10 +3354,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3378,7 +3379,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3401,10 +3402,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3427,7 +3428,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -3438,7 +3439,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -3448,7 +3449,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -3457,7 +3458,7 @@ spec: type: object type: array ec2SDConfigs: - description: EC2SDConfigs defines a list of EC2 service discovery configurations. + description: ec2SDConfigs defines a list of EC2 service discovery configurations. items: description: |- EC2SDConfig allow retrieving scrape targets from AWS EC2 instances. @@ -3469,7 +3470,7 @@ spec: BasicAuth, Authorization and OAuth2 fields are not present on purpose. properties: accessKey: - description: AccessKey is the AWS API key. + description: accessKey defines the AWS API key. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3492,12 +3493,12 @@ spec: x-kubernetes-map-type: atomic enableHTTP2: description: |- - Whether to enable HTTP2. + enableHTTP2 defines whether to enable HTTP2. It requires Prometheus >= v2.41.0 type: boolean filters: description: |- - Filters can be used optionally to filter the instance list by other criteria. + filters can be used optionally to filter the instance list by other criteria. Available filter criteria can be found here: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html Filter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.html @@ -3506,10 +3507,10 @@ spec: description: Filter name and value pairs to limit the discovery process to a subset of available resources. properties: name: - description: Name of the Filter. + description: name of the Filter. type: string values: - description: Value to filter on. + description: values defines values to filter on. items: minLength: 1 type: string @@ -3526,12 +3527,12 @@ spec: x-kubernetes-list-type: map followRedirects: description: |- - Configure whether HTTP requests follow HTTP 3xx redirects. + followRedirects defines whether HTTP requests follow HTTP 3xx redirects. It requires Prometheus >= v2.41.0 type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -3539,7 +3540,7 @@ spec: type: string port: description: |- - The port to scrape metrics from. If using the public IP address, this must + port defines the port to scrape metrics from. If using the public IP address, this must instead be specified in the relabeling rule. format: int32 maximum: 65535 @@ -3571,7 +3572,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -3579,28 +3580,30 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: RefreshInterval configures the refresh interval at which Prometheus will re-read the instance list. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string region: - description: The AWS region. + description: region defines the AWS region. minLength: 1 type: string roleARN: - description: AWS Role ARN, an alternative to using AWS API keys. + description: roleARN defines an alternative to using AWS API keys. minLength: 1 type: string secretKey: - description: SecretKey is the AWS API secret. + description: secretKey defines the AWS API secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3623,14 +3626,14 @@ spec: x-kubernetes-map-type: atomic tlsConfig: description: |- - TLS configuration to connect to the AWS EC2 API. + tlsConfig defines the TLS configuration to connect to the Consul API. It requires Prometheus >= v2.41.0 properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3652,7 +3655,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3675,10 +3678,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3700,7 +3703,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3723,10 +3726,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3749,7 +3752,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -3760,7 +3763,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -3770,24 +3773,24 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object type: array enableCompression: description: |- - When false, Prometheus will request uncompressed response from the scraped target. + enableCompression when false, Prometheus will request uncompressed response from the scraped target. It requires Prometheus >= v2.49.0. If unset, Prometheus uses true by default. type: boolean enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean eurekaSDConfigs: - description: EurekaSDConfigs defines a list of Eureka service discovery configurations. + description: eurekaSDConfigs defines a list of Eureka service discovery configurations. items: description: |- Eureka SD configurations allow retrieving scrape targets using the Eureka REST API. @@ -3795,10 +3798,12 @@ spec: See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#eureka_sd_config properties: authorization: - description: Authorization header to use on every scrape request. + description: |- + authorization defines the header configuration to authenticate against the DigitalOcean API. + Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3821,7 +3826,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -3829,11 +3834,11 @@ spec: type: string type: object basicAuth: - description: BasicAuth information to use on every scrape request. + description: basicAuth defines the BasicAuth information to use on every scrape request. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -3857,7 +3862,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -3881,31 +3886,29 @@ spec: x-kubernetes-map-type: atomic type: object enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: |- - Optional OAuth 2.0 configuration. - Cannot be set at the same time as `authorization` or `basic_auth`. + description: oauth2 defines the configuration to use on every scrape request. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -3927,7 +3930,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -3951,7 +3954,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -3977,12 +3980,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -4014,7 +4017,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -4022,29 +4025,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4066,7 +4069,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4089,10 +4092,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4114,7 +4117,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4137,10 +4140,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4163,7 +4166,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -4174,7 +4177,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -4184,11 +4187,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -4222,7 +4225,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -4230,30 +4233,33 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: Refresh interval to re-read the instance list. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string server: - description: The URL to connect to the Eureka server. + description: server defines the URL to connect to the Eureka server. minLength: 1 + pattern: ^http(s)?://.+$ type: string tlsConfig: - description: TLS configuration applying to the target HTTP endpoint. + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4275,7 +4281,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4298,10 +4304,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4323,7 +4329,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4346,10 +4352,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4372,7 +4378,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -4383,7 +4389,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -4393,7 +4399,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -4402,7 +4408,7 @@ spec: type: array fallbackScrapeProtocol: description: |- - The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. + fallbackScrapeProtocol defines the protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. It requires Prometheus >= v3.0.0. enum: @@ -4413,7 +4419,7 @@ spec: - PrometheusText1.0.0 type: string fileSDConfigs: - description: FileSDConfigs defines a list of file service discovery configurations. + description: fileSDConfigs defines a list of file service discovery configurations. items: description: |- FileSDConfig defines a Prometheus file service discovery configuration @@ -4421,7 +4427,7 @@ spec: properties: files: description: |- - List of files to be used for file discovery. Recommendation: use absolute paths. While relative paths work, the + files defines the list of files to be used for file discovery. Recommendation: use absolute paths. While relative paths work, the prometheus-operator project makes no guarantees about the working directory where the configuration file is stored. Files must be mounted using Prometheus.ConfigMaps or Prometheus.Secrets. @@ -4433,7 +4439,9 @@ spec: type: array x-kubernetes-list-type: set refreshInterval: - description: RefreshInterval configures the refresh interval at which Prometheus will reload the content of the files. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string required: @@ -4441,7 +4449,7 @@ spec: type: object type: array gceSDConfigs: - description: GCESDConfigs defines a list of GCE service discovery configurations. + description: gceSDConfigs defines a list of GCE service discovery configurations. items: description: |- GCESDConfig configures scrape targets from GCP GCE instances. @@ -4460,33 +4468,35 @@ spec: properties: filter: description: |- - Filter can be used optionally to filter the instance list by other criteria + filter defines the filter that can be used optionally to filter the instance list by other criteria Syntax of this filter is described in the filter query parameter section: https://cloud.google.com/compute/docs/reference/latest/instances/list minLength: 1 type: string port: description: |- - The port to scrape metrics from. If using the public IP address, this must + port defines the port to scrape metrics from. If using the public IP address, this must instead be specified in the relabeling rule. format: int32 maximum: 65535 minimum: 0 type: integer project: - description: The Google Cloud Project ID + description: project defines the Google Cloud Project ID minLength: 1 type: string refreshInterval: - description: RefreshInterval configures the refresh interval at which Prometheus will re-read the instance list. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string tagSeparator: - description: The tag separator is used to separate the tags on concatenation + description: tagSeparator defines the tag separator is used to separate the tags on concatenation minLength: 1 type: string zone: - description: The zone of the scrape targets. If you need multiple zones use multiple GCESDConfigs. + description: zone defines the zone of the scrape targets. If you need multiple zones use multiple GCESDConfigs. minLength: 1 type: string required: @@ -4495,7 +4505,7 @@ spec: type: object type: array hetznerSDConfigs: - description: HetznerSDConfigs defines a list of Hetzner service discovery configurations. + description: hetznerSDConfigs defines a list of Hetzner service discovery configurations. items: description: |- HetznerSDConfig allow retrieving scrape targets from Hetzner Cloud API and Robot API. @@ -4504,11 +4514,11 @@ spec: properties: authorization: description: |- - Authorization header configuration, required when role is hcloud. - Role robot does not support bearer token authentication. + authorization defines the header configuration to authenticate against the DigitalOcean API. + Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4531,7 +4541,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -4539,13 +4549,11 @@ spec: type: string type: object basicAuth: - description: |- - BasicAuth information to use on every scrape request, required when role is robot. - Role hcloud does not support basic auth. + description: basicAuth defines information to use on every scrape request. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -4569,7 +4577,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -4593,37 +4601,35 @@ spec: x-kubernetes-map-type: atomic type: object enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean labelSelector: description: |- - Label selector used to filter the servers when fetching them from the API. + labelSelector defines the label selector used to filter the servers when fetching them from the API. It requires Prometheus >= v3.5.0. minLength: 1 type: string noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: |- - Optional OAuth 2.0 configuration. - Cannot be used at the same time as `basic_auth` or `authorization`. + description: oauth2 defines the configuration to use on every scrape request. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4645,7 +4651,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4669,7 +4675,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -4695,12 +4701,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -4732,7 +4738,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -4740,29 +4746,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4784,7 +4790,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4807,10 +4813,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4832,7 +4838,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4855,10 +4861,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4881,7 +4887,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -4892,7 +4898,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -4902,11 +4908,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -4915,7 +4921,7 @@ spec: - tokenUrl type: object port: - description: The port to scrape metrics from. + description: port defines the port to scrape metrics from. If using the public IP address, this must format: int32 maximum: 65535 minimum: 0 @@ -4946,7 +4952,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -4954,20 +4960,22 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: The time after which the servers are refreshed. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string role: - description: The Hetzner role of entities that should be discovered. + description: role defines the Hetzner role of entities that should be discovered. enum: - hcloud - Hcloud @@ -4975,13 +4983,13 @@ spec: - Robot type: string tlsConfig: - description: TLS configuration to use on every scrape request. + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5003,7 +5011,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5026,10 +5034,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5051,7 +5059,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5074,10 +5082,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5100,7 +5108,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -5111,7 +5119,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -5121,7 +5129,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -5129,13 +5137,17 @@ spec: type: object type: array honorLabels: - description: HonorLabels chooses the metric's labels on collisions with target labels. + description: |- + honorLabels defines when true the metric's labels when they collide + with the target's labels. type: boolean honorTimestamps: - description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data. + description: |- + honorTimestamps defines whether Prometheus preserves the timestamps + when exposed by the target. type: boolean httpSDConfigs: - description: HTTPSDConfigs defines a list of HTTP service discovery configurations. + description: httpSDConfigs defines a list of HTTP service discovery configurations. items: description: |- HTTPSDConfig defines a prometheus HTTP service discovery configuration @@ -5143,11 +5155,11 @@ spec: properties: authorization: description: |- - Authorization header configuration to authenticate against the target HTTP endpoint. + authorization defines the authorization header configuration to authenticate against the target HTTP endpoint. Cannot be set at the same time as `oAuth2`, or `basicAuth`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5170,7 +5182,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -5179,13 +5191,13 @@ spec: type: object basicAuth: description: |- - BasicAuth information to authenticate against the target HTTP endpoint. + basicAuth defines information to use on every scrape request. More info: https://prometheus.io/docs/operating/configuration/#endpoints Cannot be set at the same time as `authorization`, or `oAuth2`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -5209,7 +5221,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -5233,14 +5245,14 @@ spec: x-kubernetes-map-type: atomic type: object enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -5248,16 +5260,16 @@ spec: type: string oauth2: description: |- - Optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint. + oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint. Cannot be set at the same time as `authorization`, or `basicAuth`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5279,7 +5291,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5303,7 +5315,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -5329,12 +5341,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -5366,7 +5378,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -5374,29 +5386,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5418,7 +5430,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5441,10 +5453,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5466,7 +5478,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5489,10 +5501,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5515,7 +5527,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -5526,7 +5538,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -5536,11 +5548,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -5574,7 +5586,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -5582,28 +5594,28 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: description: |- - RefreshInterval configures the refresh interval at which Prometheus will re-query the - endpoint to update the target list. + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string tlsConfig: - description: TLS configuration applying to the target HTTP endpoint. + description: tlsConfig defines the TLS configuration applying to the target HTTP endpoint. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5625,7 +5637,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5648,10 +5660,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5673,7 +5685,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5696,10 +5708,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5722,7 +5734,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -5733,7 +5745,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -5743,11 +5755,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object url: - description: URL from which the targets are fetched. + description: url defines the URL from which the targets are fetched. minLength: 1 pattern: ^http(s)?://.+$ type: string @@ -5756,17 +5768,19 @@ spec: type: object type: array ionosSDConfigs: - description: IonosSDConfigs defines a list of IONOS service discovery configurations. + description: ionosSDConfigs defines a list of IONOS service discovery configurations. items: description: |- IonosSDConfig configurations allow retrieving scrape targets from IONOS resources. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#ionos_sd_config properties: authorization: - description: Authorization` header configuration, required when using IONOS. + description: |- + authorization defines the header configuration to authenticate against the IONOS. + Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5789,7 +5803,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -5797,33 +5811,33 @@ spec: type: string type: object datacenterID: - description: The unique ID of the IONOS data center. + description: datacenterID defines the unique ID of the IONOS data center. minLength: 1 type: string enableHTTP2: - description: Configure whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: - description: Configure whether the HTTP requests should follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: Configure whether to enable OAuth2. + description: oauth2 defines the configuration to use on every scrape request. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5845,7 +5859,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5869,7 +5883,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -5895,12 +5909,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -5932,7 +5946,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -5940,29 +5954,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5984,7 +5998,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6007,10 +6021,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6032,7 +6046,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6055,10 +6069,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6081,7 +6095,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -6092,7 +6106,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -6102,11 +6116,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -6115,7 +6129,7 @@ spec: - tokenUrl type: object port: - description: Port to scrape the metrics from. + description: port defines the port to scrape metrics from. If using the public IP address, this must format: int32 maximum: 65535 minimum: 0 @@ -6146,7 +6160,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -6154,26 +6168,28 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: Refresh interval to re-read the list of resources. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string tlsConfig: - description: TLS configuration to use when connecting to the IONOS API. + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6195,7 +6211,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6218,10 +6234,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6243,7 +6259,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6266,10 +6282,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6292,7 +6308,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -6303,7 +6319,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -6313,7 +6329,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -6323,7 +6339,7 @@ spec: type: array jobName: description: |- - The value of the `job` label assigned to the scraped metrics by default. + jobName defines the value of the `job` label assigned to the scraped metrics by default. The `job_name` field in the rendered scrape configuration is always controlled by the operator to prevent duplicate job names, which Prometheus does not allow. Instead the @@ -6332,14 +6348,14 @@ spec: type: string keepDroppedTargets: description: |- - Per-scrape limit on the number of targets dropped by relabeling + keepDroppedTargets defines the per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0. format: int64 type: integer kubernetesSDConfigs: - description: KubernetesSDConfigs defines a list of Kubernetes service discovery configurations. + description: kubernetesSDConfigs defines a list of Kubernetes service discovery configurations. items: description: |- KubernetesSDConfig allows retrieving scrape targets from Kubernetes' REST API. @@ -6347,7 +6363,7 @@ spec: properties: apiServer: description: |- - The API server address consisting of a hostname or IP address followed + apiServer defines the API server address consisting of a hostname or IP address followed by an optional port number. If left empty, Prometheus is assumed to run inside of the cluster. It will discover API servers automatically and use the pod's @@ -6356,13 +6372,13 @@ spec: type: string attachMetadata: description: |- - Optional metadata to attach to discovered targets. + attachMetadata defines the metadata to attach to discovered targets. It requires Prometheus >= v2.35.0 when using the `Pod` role and Prometheus >= v2.37.0 for `Endpoints` and `Endpointslice` roles. properties: node: description: |- - Attaches node metadata to discovered targets. + node attaches node metadata to discovered targets. When set to true, Prometheus must have the `get` permission on the `Nodes` objects. Only valid for Pod, Endpoint and Endpointslice roles. @@ -6370,11 +6386,11 @@ spec: type: object authorization: description: |- - Authorization header to use on every scrape request. + authorization defines the authorization header to use on every scrape request. Cannot be set at the same time as `basicAuth`, or `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6397,7 +6413,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -6406,12 +6422,12 @@ spec: type: object basicAuth: description: |- - BasicAuth information to use on every scrape request. + basicAuth defines information to use on every scrape request. Cannot be set at the same time as `authorization`, or `oauth2`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -6435,7 +6451,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -6459,29 +6475,29 @@ spec: x-kubernetes-map-type: atomic type: object enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean namespaces: - description: Optional namespace discovery. If omitted, Prometheus discovers targets across all namespaces. + description: namespaces defines the namespace discovery. If omitted, Prometheus discovers targets across all namespaces. properties: names: description: |- - List of namespaces where to watch for resources. + names defines a list of namespaces where to watch for resources. If empty and `ownNamespace` isn't true, Prometheus watches for resources in all namespaces. items: type: string type: array x-kubernetes-list-type: set ownNamespace: - description: Includes the namespace in which the Prometheus pod runs to the list of watched namespaces. + description: ownNamespace includes the namespace in which the Prometheus pod runs to the list of watched namespaces. type: boolean type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -6489,16 +6505,16 @@ spec: type: string oauth2: description: |- - Optional OAuth 2.0 configuration. + oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint. Cannot be set at the same time as `authorization`, or `basicAuth`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6520,7 +6536,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6544,7 +6560,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -6570,12 +6586,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -6607,7 +6623,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -6615,29 +6631,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6659,7 +6675,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6682,10 +6698,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6707,7 +6723,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6730,10 +6746,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6756,7 +6772,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -6767,7 +6783,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -6777,11 +6793,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -6815,7 +6831,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -6823,17 +6839,17 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string role: description: |- - Role of the Kubernetes entities that should be discovered. + role defines the Kubernetes role of the entities that should be discovered. Role `Endpointslice` requires Prometheus >= v2.21.0 enum: - Pod @@ -6845,26 +6861,26 @@ spec: type: string selectors: description: |- - Selector to select objects. + selectors defines the selector to select objects. It requires Prometheus >= v2.17.0 items: description: K8SSelectorConfig is Kubernetes Selector Config properties: field: description: |- - An optional field selector to limit the service discovery to resources which have fields with specific values. + field defines an optional field selector to limit the service discovery to resources which have fields with specific values. e.g: `metadata.name=foobar` minLength: 1 type: string label: description: |- - An optional label selector to limit the service discovery to resources with specific labels and label values. + label defines an optional label selector to limit the service discovery to resources with specific labels and label values. e.g: `node.kubernetes.io/instance-type=master` minLength: 1 type: string role: description: |- - Role specifies the type of Kubernetes resource to limit the service discovery to. + role defines the type of Kubernetes resource to limit the service discovery to. Accepted values are: Node, Pod, Endpoints, EndpointSlice, Service, Ingress. enum: - Pod @@ -6882,13 +6898,13 @@ spec: - role x-kubernetes-list-type: map tlsConfig: - description: TLS configuration to connect to the Kubernetes API. + description: tlsConfig defines the TLS configuration to connect to the Kubernetes API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6910,7 +6926,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6933,10 +6949,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -6958,7 +6974,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -6981,10 +6997,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7007,7 +7023,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -7018,7 +7034,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -7028,7 +7044,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -7036,17 +7052,19 @@ spec: type: object type: array kumaSDConfigs: - description: KumaSDConfigs defines a list of Kuma service discovery configurations. + description: kumaSDConfigs defines a list of Kuma service discovery configurations. items: description: |- KumaSDConfig allow retrieving scrape targets from Kuma's control plane. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kuma_sd_config properties: authorization: - description: Authorization header to use on every scrape request. + description: |- + authorization defines the header configuration to authenticate against the DigitalOcean API. + Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7069,7 +7087,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -7077,11 +7095,11 @@ spec: type: string type: object basicAuth: - description: BasicAuth information to use on every scrape request. + description: basicAuth defines information to use on every scrape request. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -7105,7 +7123,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -7129,38 +7147,39 @@ spec: x-kubernetes-map-type: atomic type: object clientID: - description: Client id is used by Kuma Control Plane to compute Monitoring Assignment for specific Prometheus backend. + description: |- + clientID is used by Kuma Control Plane to compute Monitoring Assignment for specific Prometheus backend. + It requires Prometheus >= v2.50.0. + minLength: 1 type: string enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean fetchTimeout: - description: The time after which the monitoring assignments are refreshed. + description: fetchTimeout defines the time after which the monitoring assignments are refreshed. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: |- - Optional OAuth 2.0 configuration. - Cannot be set at the same time as `authorization`, or `basicAuth`. + description: oauth2 defines the configuration to use on every scrape request. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7182,7 +7201,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7206,7 +7225,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -7232,12 +7251,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -7269,7 +7288,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -7277,29 +7296,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7321,7 +7340,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7344,10 +7363,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7369,7 +7388,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7392,10 +7411,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7418,7 +7437,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -7429,7 +7448,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -7439,11 +7458,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -7477,7 +7496,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -7485,30 +7504,32 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: The time to wait between polling update requests. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string server: - description: Address of the Kuma Control Plane's MADS xDS server. - minLength: 1 + description: server defines the address of the Kuma Control Plane's MADS xDS server. + pattern: ^https?://.+$ type: string tlsConfig: - description: TLS configuration to use on every scrape request + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7530,7 +7551,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7553,10 +7574,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7578,7 +7599,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7601,10 +7622,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7627,7 +7648,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -7638,7 +7659,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -7648,7 +7669,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -7657,31 +7678,31 @@ spec: type: array labelLimit: description: |- - Per-scrape limit on number of labels that will be accepted for a sample. + labelLimit defines the per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer. format: int64 type: integer labelNameLengthLimit: description: |- - Per-scrape limit on length of labels name that will be accepted for a sample. + labelNameLengthLimit defines the per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer. format: int64 type: integer labelValueLengthLimit: description: |- - Per-scrape limit on length of labels value that will be accepted for a sample. + labelValueLengthLimit defines the per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer. format: int64 type: integer lightSailSDConfigs: - description: LightsailSDConfigs defines a list of Lightsail service discovery configurations. + description: lightSailSDConfigs defines a list of Lightsail service discovery configurations. items: description: |- LightSailSDConfig configurations allow retrieving scrape targets from AWS Lightsail instances. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#lightsail_sd_config properties: accessKey: - description: AccessKey is the AWS API key. + description: accessKey defines the AWS API key. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7704,11 +7725,11 @@ spec: x-kubernetes-map-type: atomic authorization: description: |- - Optional `authorization` HTTP header configuration. - Cannot be set at the same time as `basicAuth`, or `oauth2`. + authorization defines the header configuration to authenticate against the DigitalOcean API. + Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7731,7 +7752,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -7740,12 +7761,12 @@ spec: type: object basicAuth: description: |- - Optional HTTP basic authentication information. + basicAuth defines information to use on every scrape request. Cannot be set at the same time as `authorization`, or `oauth2`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -7769,7 +7790,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -7793,18 +7814,18 @@ spec: x-kubernetes-map-type: atomic type: object enableHTTP2: - description: Configure whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean endpoint: - description: Custom endpoint to be used. + description: endpoint defines the custom endpoint to be used. minLength: 1 type: string followRedirects: - description: Configure whether the HTTP requests should follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -7812,16 +7833,16 @@ spec: type: string oauth2: description: |- - Optional OAuth2.0 configuration. - Cannot be set at the same time as `basicAuth`, or `authorization`. + oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint. + Cannot be set at the same time as `authorization`, or `basicAuth`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7843,7 +7864,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -7867,7 +7888,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -7893,12 +7914,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -7930,7 +7951,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -7938,29 +7959,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -7982,7 +8003,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8005,10 +8026,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8030,7 +8051,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8053,10 +8074,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8079,7 +8100,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -8090,7 +8111,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -8100,11 +8121,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -8113,9 +8134,7 @@ spec: - tokenUrl type: object port: - description: |- - Port to scrape the metrics from. - If using the public IP address, this must instead be specified in the relabeling rule. + description: port defines the port to scrape metrics from. If using the public IP address, this must format: int32 maximum: 65535 minimum: 0 @@ -8146,7 +8165,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -8154,27 +8173,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: Refresh interval to re-read the list of instances. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string region: - description: The AWS region. + description: region defines the AWS region. minLength: 1 type: string roleARN: - description: AWS Role ARN, an alternative to using AWS API keys. + description: roleARN defines the AWS Role ARN, an alternative to using AWS API keys. type: string secretKey: - description: SecretKey is the AWS API secret. + description: secretKey defines the AWS API secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8196,13 +8217,13 @@ spec: type: object x-kubernetes-map-type: atomic tlsConfig: - description: TLS configuration to connect to the Puppet DB. + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8224,7 +8245,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8247,10 +8268,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8272,7 +8293,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8295,10 +8316,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8321,7 +8342,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -8332,7 +8353,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -8342,23 +8363,25 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object type: array linodeSDConfigs: - description: LinodeSDConfigs defines a list of Linode service discovery configurations. + description: linodeSDConfigs defines a list of Linode service discovery configurations. items: description: |- LinodeSDConfig configurations allow retrieving scrape targets from Linode's Linode APIv4. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#linode_sd_config properties: authorization: - description: Authorization header configuration. + description: |- + authorization defines the header configuration to authenticate against the DigitalOcean API. + Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8381,7 +8404,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -8389,14 +8412,14 @@ spec: type: string type: object enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -8404,16 +8427,16 @@ spec: type: string oauth2: description: |- - Optional OAuth 2.0 configuration. - Cannot be used at the same time as `authorization`. + oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint. + Cannot be set at the same time as `authorization`, or `basicAuth`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8435,7 +8458,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8459,7 +8482,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -8485,12 +8508,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -8522,7 +8545,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -8530,29 +8553,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8574,7 +8597,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8597,10 +8620,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8622,7 +8645,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8645,10 +8668,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8671,7 +8694,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -8682,7 +8705,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -8692,11 +8715,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -8705,7 +8728,7 @@ spec: - tokenUrl type: object port: - description: Default port to scrape metrics from. + description: port defines the port to scrape metrics from. If using the public IP address, this must format: int32 maximum: 65535 minimum: 0 @@ -8736,7 +8759,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -8744,34 +8767,36 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: Time after which the linode instances are refreshed. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string region: - description: Optional region to filter on. + description: region defines the region to filter on. minLength: 1 type: string tagSeparator: - description: The string by which Linode Instance tags are joined into the tag label. + description: tagSeparator defines the string by which Linode Instance tags are joined into the tag label.el. minLength: 1 type: string tlsConfig: - description: TLS configuration applying to the target HTTP endpoint. + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8793,7 +8818,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8816,10 +8841,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8841,7 +8866,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8864,10 +8889,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8890,7 +8915,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -8901,7 +8926,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -8911,13 +8936,13 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object type: object type: array metricRelabelings: - description: MetricRelabelConfigs to apply to samples before ingestion. + description: metricRelabelings defines the metricRelabelings to apply to samples before ingestion. items: description: |- RelabelConfig allows dynamic rewriting of the label set for targets, alerts, @@ -8928,7 +8953,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -8960,39 +8985,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -9003,12 +9028,12 @@ spec: minItems: 1 type: array metricsPath: - description: MetricsPath HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g. /metrics). + description: metricsPath defines the HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g. /metrics). minLength: 1 type: string nameEscapingScheme: description: |- - Metric name escaping mode to request through content negotiation. + nameEscapingScheme defines the metric name escaping mode to request through content negotiation. It requires Prometheus >= v3.4.0. enum: @@ -9019,7 +9044,7 @@ spec: type: string nameValidationScheme: description: |- - Specifies the validation scheme for metric and label names. + nameValidationScheme defines the validation scheme for metric and label names. It requires Prometheus >= v3.0.0. enum: @@ -9028,7 +9053,7 @@ spec: type: string nativeHistogramBucketLimit: description: |- - If there are more than this many buckets in a native histogram, + nativeHistogramBucketLimit defines ff there are more than this many buckets in a native histogram, buckets will be merged to stay within the limit. It requires Prometheus >= v2.45.0. format: int64 @@ -9038,21 +9063,21 @@ spec: - type: integer - type: string description: |- - If the growth factor of one bucket to the next is smaller than this, + nativeHistogramMinBucketFactor defines if the growth factor of one bucket to the next is smaller than this, buckets will be merged to increase the factor sufficiently. It requires Prometheus >= v2.50.0. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string nomadSDConfigs: - description: NomadSDConfigs defines a list of Nomad service discovery configurations. + description: nomadSDConfigs defines a list of Nomad service discovery configurations. items: description: |- NomadSDConfig configurations allow retrieving scrape targets from Nomad's Service API. @@ -9060,14 +9085,16 @@ spec: properties: allowStale: description: |- - The information to access the Nomad API. It is to be defined + allowStale defines the information to access the Nomad API. It is to be defined as the Nomad documentation requires. type: boolean authorization: - description: Authorization header to use on every scrape request. + description: |- + authorization defines the header configuration to authenticate against the DigitalOcean API. + Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9090,7 +9117,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -9098,11 +9125,11 @@ spec: type: string type: object basicAuth: - description: BasicAuth information to use on every scrape request. + description: basicAuth defines information to use on every scrape request. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -9126,7 +9153,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -9150,33 +9177,34 @@ spec: x-kubernetes-map-type: atomic type: object enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean namespace: + description: |- + namespace defines the Nomad namespace to query for service discovery. + When specified, only resources within this namespace will be discovered. type: string noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string oauth2: - description: |- - Optional OAuth 2.0 configuration. - Cannot be set at the same time as `authorization` or `basic_auth`. + description: oauth2 defines the configuration to use on every scrape request. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9198,7 +9226,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9222,7 +9250,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -9248,12 +9276,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -9285,7 +9313,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -9293,29 +9321,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9337,7 +9365,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9360,10 +9388,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9385,7 +9413,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9408,10 +9436,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9434,7 +9462,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -9445,7 +9473,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -9455,11 +9483,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -9493,7 +9521,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -9501,36 +9529,44 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: description: |- - Duration is a valid time duration that can be parsed by Prometheus model.ParseDuration() function. - Supported units: y, w, d, h, m, s, ms - Examples: `30s`, `1m`, `1h20m15s`, `15d` + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string region: + description: |- + region defines the Nomad region to query for service discovery. + When specified, only resources within this region will be discovered. type: string server: + description: |- + server defines the Nomad server address to connect to for service discovery. + This should be the full URL including protocol (e.g., "https://nomad.example.com:4646"). minLength: 1 type: string tagSeparator: + description: |- + tagSeparator defines the separator used to join multiple tags. + This determines how Nomad service tags are concatenated into Prometheus labels. type: string tlsConfig: - description: TLS configuration applying to the target HTTP endpoint. + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9552,7 +9588,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9575,10 +9611,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9600,7 +9636,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9623,10 +9659,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9649,7 +9685,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -9660,7 +9696,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -9670,7 +9706,7 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object required: @@ -9678,15 +9714,15 @@ spec: type: object type: array oauth2: - description: OAuth2 configuration to use on every scrape request. + description: oauth2 defines the configuration to use on every scrape request. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9708,7 +9744,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9732,7 +9768,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -9758,12 +9794,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -9795,7 +9831,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -9803,29 +9839,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9847,7 +9883,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9870,10 +9906,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -9895,7 +9931,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9918,10 +9954,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -9944,7 +9980,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -9955,7 +9991,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -9965,11 +10001,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -9978,7 +10014,7 @@ spec: - tokenUrl type: object openstackSDConfigs: - description: OpenStackSDConfigs defines a list of OpenStack service discovery configurations. + description: openstackSDConfigs defines a list of OpenStack service discovery configurations. items: description: |- OpenStackSDConfig allow retrieving scrape targets from OpenStack Nova instances. @@ -9986,15 +10022,15 @@ spec: properties: allTenants: description: |- - Whether the service discovery should list all instances for all projects. + allTenants defines whether the service discovery should list all instances for all projects. It is only relevant for the 'instance' role and usually requires admin permissions. type: boolean applicationCredentialId: - description: ApplicationCredentialID + description: applicationCredentialId defines the OpenStack applicationCredentialId. type: string applicationCredentialName: description: |- - The ApplicationCredentialID or ApplicationCredentialName fields are + applicationCredentialName defines the ApplicationCredentialID or ApplicationCredentialName fields are required if using an application credential to authenticate. Some providers allow you to create an application credential to authenticate rather than a password. @@ -10002,7 +10038,7 @@ spec: type: string applicationCredentialSecret: description: |- - The applicationCredentialSecret field is required if using an application + applicationCredentialSecret defines the required field if using an application credential to authenticate. properties: key: @@ -10025,7 +10061,7 @@ spec: type: object x-kubernetes-map-type: atomic availability: - description: Availability of the endpoint to connect to. + description: availability defines the availability of the endpoint to connect to. enum: - Public - public @@ -10035,24 +10071,24 @@ spec: - internal type: string domainID: - description: DomainID + description: domainID defines The OpenStack domainID. minLength: 1 type: string domainName: description: |- - At most one of domainId and domainName must be provided if using username + domainName defines at most one of domainId and domainName that must be provided if using username with Identity V3. Otherwise, either are optional. minLength: 1 type: string identityEndpoint: description: |- - IdentityEndpoint specifies the HTTP endpoint that is required to work with + identityEndpoint defines the HTTP endpoint that is required to work with the Identity API of the appropriate version. pattern: ^http(s)?:\/\/.+$ type: string password: description: |- - Password for the Identity V2 and V3 APIs. Consult with your provider's + password defines the password for the Identity V2 and V3 APIs. Consult with your provider's control panel to discover your account's preferred method of authentication. properties: key: @@ -10076,35 +10112,37 @@ spec: x-kubernetes-map-type: atomic port: description: |- - The port to scrape metrics from. If using the public IP address, this must + port defines the port to scrape metrics from. If using the public IP address, this must instead be specified in the relabeling rule. format: int32 maximum: 65535 minimum: 0 type: integer projectID: - description: ' ProjectID' + description: projectID defines the OpenStack projectID. minLength: 1 type: string projectName: description: |- - The ProjectId and ProjectName fields are optional for the Identity V2 API. + projectName defines an optional field for the Identity V2 API. Some providers allow you to specify a ProjectName instead of the ProjectId. Some require both. Your provider's authentication policies will determine how these fields influence authentication. minLength: 1 type: string refreshInterval: - description: Refresh interval to re-read the instance list. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string region: - description: The OpenStack Region. + description: region defines the OpenStack Region. minLength: 1 type: string role: description: |- - The OpenStack role of entities that should be discovered. + role defines the OpenStack role of entities that should be discovered. Note: The `LoadBalancer` role requires Prometheus >= v3.2.0. enum: @@ -10113,13 +10151,13 @@ spec: - LoadBalancer type: string tlsConfig: - description: TLS configuration applying to the target HTTP endpoint. + description: tlsConfig defines the TLS configuration applying to the target HTTP endpoint. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10141,7 +10179,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10164,10 +10202,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10189,7 +10227,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10212,10 +10250,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10238,7 +10276,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -10249,7 +10287,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -10259,16 +10297,16 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object userid: - description: UserID + description: userid defines the OpenStack userid. minLength: 1 type: string username: description: |- - Username is required if using Identity V2 API. Consult with your provider's + username defines the username required if using Identity V2 API. Consult with your provider's control panel to discover your account's username. In Identity V3, either userid or a combination of username and domainId or domainName are needed @@ -10280,18 +10318,22 @@ spec: type: object type: array ovhcloudSDConfigs: - description: OVHCloudSDConfigs defines a list of OVHcloud service discovery configurations. + description: ovhcloudSDConfigs defines a list of OVHcloud service discovery configurations. items: description: |- OVHCloudSDConfig configurations allow retrieving scrape targets from OVHcloud's dedicated servers and VPS using their API. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#ovhcloud_sd_config properties: applicationKey: - description: Access key to use. https://api.ovh.com. + description: |- + applicationKey defines the access key to use for OVHCloud API authentication. + This is obtained from the OVHCloud API credentials at https://api.ovh.com. minLength: 1 type: string applicationSecret: - description: SecretKeySelector selects a key of a Secret. + description: |- + applicationSecret defines the secret key for OVHCloud API authentication. + This contains the application secret obtained during OVHCloud API credential creation. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10313,7 +10355,9 @@ spec: type: object x-kubernetes-map-type: atomic consumerKey: - description: SecretKeySelector selects a key of a Secret. + description: |- + consumerKey defines the consumer key for OVHCloud API authentication. + This is the third component of OVHCloud's three-key authentication system. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10335,22 +10379,24 @@ spec: type: object x-kubernetes-map-type: atomic endpoint: - description: Custom endpoint to be used. + description: |- + endpoint defines a custom API endpoint to be used. + When not specified, defaults to the standard OVHCloud API endpoint for the region. minLength: 1 type: string refreshInterval: - description: Refresh interval to re-read the resources list. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string service: - allOf: - - enum: - - VPS - - DedicatedServer - - enum: - - VPS - - DedicatedServer - description: Service of the targets to retrieve. Must be `VPS` or `DedicatedServer`. + description: |- + service defines the service type of the targets to retrieve. + Must be either `VPS` or `DedicatedServer` to specify which OVHCloud resources to discover. + enum: + - VPS + - DedicatedServer type: string required: - applicationKey @@ -10364,7 +10410,7 @@ spec: items: type: string type: array - description: Optional HTTP URL parameters + description: params defines optional HTTP URL parameters type: object x-kubernetes-map-type: atomic proxyConnectHeader: @@ -10393,7 +10439,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -10401,16 +10447,16 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string puppetDBSDConfigs: - description: PuppetDBSDConfigs defines a list of PuppetDB service discovery configurations. + description: puppetDBSDConfigs defines a list of PuppetDB service discovery configurations. items: description: |- PuppetDBSDConfig configurations allow retrieving scrape targets from PuppetDB resources. @@ -10418,11 +10464,11 @@ spec: properties: authorization: description: |- - Optional `authorization` HTTP header configuration. - Cannot be set at the same time as `basicAuth`, or `oauth2`. + authorization defines the header configuration to authenticate against the DigitalOcean API. + Cannot be set at the same time as `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10445,7 +10491,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -10454,12 +10500,12 @@ spec: type: object basicAuth: description: |- - Optional HTTP basic authentication information. + basicAuth defines information to use on every scrape request. Cannot be set at the same time as `authorization`, or `oauth2`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -10483,7 +10529,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -10507,20 +10553,20 @@ spec: x-kubernetes-map-type: atomic type: object enableHTTP2: - description: Configure whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: - description: Configure whether the HTTP requests should follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean includeParameters: description: |- - Whether to include the parameters as meta labels. + includeParameters defines whether to include the parameters as meta labels. Note: Enabling this exposes parameters in the Prometheus UI and API. Make sure that you don't have secrets exposed as parameters if you enable this. type: boolean noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -10528,16 +10574,16 @@ spec: type: string oauth2: description: |- - Optional OAuth2.0 configuration. - Cannot be set at the same time as `basicAuth`, or `authorization`. + oauth2 defines the optional OAuth 2.0 configuration to authenticate against the target HTTP endpoint. + Cannot be set at the same time as `authorization`, or `basicAuth`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10559,7 +10605,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10583,7 +10629,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -10609,12 +10655,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -10646,7 +10692,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -10654,29 +10700,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10698,7 +10744,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10721,10 +10767,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10746,7 +10792,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10769,10 +10815,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10795,7 +10841,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -10806,7 +10852,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -10816,11 +10862,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -10829,7 +10875,7 @@ spec: - tokenUrl type: object port: - description: Port to scrape the metrics from. + description: port defines the port to scrape metrics from. If using the public IP address, this must format: int32 maximum: 65535 minimum: 0 @@ -10860,7 +10906,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -10868,32 +10914,34 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string query: description: |- - Puppet Query Language (PQL) query. Only resources are supported. + query defines the Puppet Query Language (PQL) query. Only resources are supported. https://puppet.com/docs/puppetdb/latest/api/query/v4/pql.html minLength: 1 type: string refreshInterval: - description: Refresh interval to re-read the list of resources. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string tlsConfig: - description: TLS configuration to connect to the Puppet DB. + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10915,7 +10963,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10938,10 +10986,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -10963,7 +11011,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -10986,10 +11034,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -11012,7 +11060,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -11023,7 +11071,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -11033,11 +11081,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object url: - description: The URL of the PuppetDB root query endpoint. + description: url defines the URL of the PuppetDB root query endpoint. minLength: 1 pattern: ^http(s)?://.+$ type: string @@ -11048,7 +11096,7 @@ spec: type: array relabelings: description: |- - RelabelConfigs defines how to rewrite the target's labels before scraping. + relabelings defines how to rewrite the target's labels before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields. The original scrape job's name is available via the `__tmp_prometheus_job_name` label. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config @@ -11062,7 +11110,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -11094,39 +11142,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -11137,50 +11185,50 @@ spec: minItems: 1 type: array sampleLimit: - description: SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. + description: sampleLimit defines per-scrape limit on number of scraped samples that will be accepted. format: int64 type: integer scalewaySDConfigs: - description: ScalewaySDConfigs defines a list of Scaleway instances and baremetal service discovery configurations. + description: scalewaySDConfigs defines a list of Scaleway instances and baremetal service discovery configurations. items: description: |- ScalewaySDConfig configurations allow retrieving scrape targets from Scaleway instances and baremetal services. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scaleway_sd_config properties: accessKey: - description: Access key to use. https://console.scaleway.com/project/credentials + description: accessKey defines the access key to use. https://console.scaleway.com/project/credentials minLength: 1 type: string apiURL: - description: API URL to use when doing the server listing requests. + description: apiURL defines the API URL to use when doing the server listing requests. pattern: ^http(s)?://.+$ type: string enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: - description: Configure whether HTTP requests follow HTTP 3xx redirects. + description: followRedirects defines whether HTTP requests follow HTTP 3xx redirects. type: boolean nameFilter: - description: NameFilter specify a name filter (works as a LIKE) to apply on the server listing request. + description: nameFilter defines a name filter (works as a LIKE) to apply on the server listing request. minLength: 1 type: string noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: string port: - description: The port to scrape metrics from. + description: port defines the port to scrape metrics from. If using the public IP address, this must format: int32 maximum: 65535 minimum: 0 type: integer projectID: - description: Project ID of the targets. + description: projectID defines the Project ID of the targets. minLength: 1 type: string proxyConnectHeader: @@ -11209,7 +11257,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -11217,26 +11265,28 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string refreshInterval: - description: Refresh interval to re-read the list of instances. + description: |- + refreshInterval defines the time after which the provided names are refreshed. + If not set, Prometheus uses its default value. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string role: - description: Service of the targets to retrieve. Must be `Instance` or `Baremetal`. + description: role defines the service of the targets to retrieve. Must be `Instance` or `Baremetal`. enum: - Instance - Baremetal type: string secretKey: - description: Secret key to use when listing targets. + description: secretKey defines the secret key to use when listing targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -11258,7 +11308,7 @@ spec: type: object x-kubernetes-map-type: atomic tagsFilter: - description: TagsFilter specify a tag filter (a server needs to have all defined tags to be listed) to apply on the server listing request. + description: tagsFilter defines a tag filter (a server needs to have all defined tags to be listed) to apply on the server listing request. items: minLength: 1 type: string @@ -11266,13 +11316,13 @@ spec: type: array x-kubernetes-list-type: set tlsConfig: - description: TLS configuration to use on every scrape request + description: tlsConfig defines the TLS configuration to connect to the Consul API. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -11294,7 +11344,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -11317,10 +11367,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -11342,7 +11392,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -11365,10 +11415,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -11391,7 +11441,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -11402,7 +11452,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -11412,11 +11462,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object zone: - description: Zone is the availability zone of your targets (e.g. fr-par-1). + description: zone defines the availability zone of your targets (e.g. fr-par-1). minLength: 1 type: string required: @@ -11427,31 +11477,36 @@ spec: type: object type: array scheme: - description: |- - Configures the protocol scheme used for requests. - If empty, Prometheus uses HTTP by default. + description: scheme defines the protocol scheme used for requests. enum: + - http + - https - HTTP - HTTPS type: string scrapeClass: - description: The scrape class to apply. + description: scrapeClass defines the scrape class to apply. minLength: 1 type: string scrapeClassicHistograms: description: |- - Whether to scrape a classic histogram that is also exposed as a native histogram. + scrapeClassicHistograms defines whether to scrape a classic histogram that is also exposed as a native histogram. It requires Prometheus >= v2.45.0. Notice: `scrapeClassicHistograms` corresponds to the `always_scrape_classic_histograms` field in the Prometheus configuration. type: boolean scrapeInterval: - description: ScrapeInterval is the interval between consecutive scrapes. + description: scrapeInterval defines the interval between consecutive scrapes. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string + scrapeNativeHistograms: + description: |- + scrapeNativeHistograms defines whether to enable scraping of native histograms. + It requires Prometheus >= v3.8.0. + type: boolean scrapeProtocols: description: |- - The protocols to negotiate during a scrape. It tells clients the + scrapeProtocols defines the protocols to negotiate during a scrape. It tells clients the protocols supported by Prometheus in order of preference (from most to least preferred). If unset, Prometheus uses its default value. @@ -11478,12 +11533,12 @@ spec: x-kubernetes-list-type: set scrapeTimeout: description: |- - ScrapeTimeout is the number of seconds to wait until a scrape request times out. + scrapeTimeout defines the number of seconds to wait until a scrape request times out. The value cannot be greater than the scrape interval otherwise the operator will reject the resource. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string staticConfigs: - description: StaticConfigs defines a list of static targets with a common label set. + description: staticConfigs defines a list of static targets with a common label set. items: description: |- StaticConfig defines a Prometheus static configuration. @@ -11492,11 +11547,11 @@ spec: labels: additionalProperties: type: string - description: Labels assigned to all metrics scraped from the targets. + description: labels defines labels assigned to all metrics scraped from the targets. type: object x-kubernetes-map-type: atomic targets: - description: List of targets for this static configuration. + description: targets defines the list of targets for this static configuration. items: description: |- Target represents a target for Prometheus to scrape @@ -11510,17 +11565,17 @@ spec: type: object type: array targetLimit: - description: TargetLimit defines a limit on the number of scraped targets that will be accepted. + description: targetLimit defines a limit on the number of scraped targets that will be accepted. format: int64 type: integer tlsConfig: - description: TLS configuration to use on every scrape request + description: tlsConfig defines the TLS configuration to use on every scrape request properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -11542,7 +11597,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -11565,10 +11620,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -11590,7 +11645,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -11613,10 +11668,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -11639,7 +11694,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -11650,7 +11705,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -11660,19 +11715,114 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object trackTimestampsStaleness: description: |- - TrackTimestampsStaleness whether Prometheus tracks staleness of + trackTimestampsStaleness defines whether Prometheus tracks staleness of the metrics that have an explicit timestamp present in scraped data. Has no effect if `honorTimestamps` is false. It requires Prometheus >= v2.48.0. type: boolean type: object + status: + description: |- + status defines the status subresource. It is under active development and is updated only when the + "StatusForConfigurationResources" feature gate is enabled. + + Most recent observed status of the ScrapeConfig. Read-only. + More info: + https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + properties: + bindings: + description: bindings defines the list of workload resources (Prometheus, PrometheusAgent, ThanosRuler or Alertmanager) which select the configuration resource. + items: + description: WorkloadBinding is a link between a configuration resource and a workload resource. + properties: + conditions: + description: conditions defines the current state of the configuration resource when bound to the referenced Workload object. + items: + description: ConfigResourceCondition describes the status of configuration resources linked to Prometheus, PrometheusAgent, Alertmanager or ThanosRuler. + properties: + lastTransitionTime: + description: lastTransitionTime defines the time of the last update to the current status property. + format: date-time + type: string + message: + description: message defines the human-readable message indicating details for the condition's last transition. + type: string + observedGeneration: + description: |- + observedGeneration defines the .metadata.generation that the + condition was set based upon. For instance, if `.metadata.generation` is + currently 12, but the `.status.conditions[].observedGeneration` is 9, the + condition is out of date with respect to the current state of the object. + format: int64 + type: integer + reason: + description: reason for the condition's last transition. + type: string + status: + description: status of the condition. + minLength: 1 + type: string + type: + description: |- + type of the condition being reported. + Currently, only "Accepted" is supported. + enum: + - Accepted + minLength: 1 + type: string + required: + - lastTransitionTime + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + group: + description: group defines the group of the referenced resource. + enum: + - monitoring.coreos.com + type: string + name: + description: name defines the name of the referenced object. + minLength: 1 + type: string + namespace: + description: namespace defines the namespace of the referenced object. + minLength: 1 + type: string + resource: + description: resource defines the type of resource being referenced (e.g. Prometheus, PrometheusAgent, ThanosRuler or Alertmanager). + enum: + - prometheuses + - prometheusagents + - thanosrulers + - alertmanagers + type: string + required: + - group + - name + - namespace + - resource + type: object + type: array + x-kubernetes-list-map-keys: + - group + - resource + - name + - namespace + x-kubernetes-list-type: map + type: object required: - spec type: object served: true storage: true + subresources: + status: {} diff --git a/modules/observability/prometheus-operator/base/crds/servicemonitors.monitoring.coreos.com.yaml b/modules/observability/prometheus-operator/base/crds/servicemonitors.monitoring.coreos.com.yaml index cd0e3739..b42af7bc 100644 --- a/modules/observability/prometheus-operator/base/crds/servicemonitors.monitoring.coreos.com.yaml +++ b/modules/observability/prometheus-operator/base/crds/servicemonitors.monitoring.coreos.com.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 - operator.prometheus.io/version: 0.85.0 + controller-gen.kubebuilder.io/version: v0.19.0 + operator.prometheus.io/version: 0.87.1 name: servicemonitors.monitoring.coreos.com spec: group: monitoring.coreos.com @@ -51,19 +51,19 @@ spec: type: object spec: description: |- - Specification of desired Service selection for target discovery by + spec defines the specification of desired Service selection for target discovery by Prometheus. properties: attachMetadata: description: |- - `attachMetadata` defines additional metadata which is added to the + attachMetadata defines additional metadata which is added to the discovered targets. It requires Prometheus >= v2.37.0. properties: node: description: |- - When set to true, Prometheus attaches node metadata to the discovered + node when set to true, Prometheus attaches node metadata to the discovered targets. The Prometheus service account must have the `list` and `watch` @@ -72,7 +72,7 @@ spec: type: object bodySizeLimit: description: |- - When defined, bodySizeLimit specifies a job level limit on the size + bodySizeLimit when defined, bodySizeLimit specifies a job level limit on the size of uncompressed response body that will be accepted by Prometheus. It requires Prometheus >= v2.28.0. @@ -80,12 +80,12 @@ spec: type: string convertClassicHistogramsToNHCB: description: |- - Whether to convert all scraped classic histograms into a native histogram with custom buckets. + convertClassicHistogramsToNHCB defines whether to convert all scraped classic histograms into a native histogram with custom buckets. It requires Prometheus >= v3.0.0. type: boolean endpoints: description: |- - List of endpoints part of this ServiceMonitor. + endpoints defines the list of endpoints part of this ServiceMonitor. Defines how to scrape metrics from Kubernetes [Endpoints](https://kubernetes.io/docs/concepts/services-networking/service/#endpoints) objects. In most cases, an Endpoints object is backed by a Kubernetes [Service](https://kubernetes.io/docs/concepts/services-networking/service/) object with the same name and labels. items: @@ -95,13 +95,13 @@ spec: properties: authorization: description: |- - `authorization` configures the Authorization header credentials to use when - scraping the target. + authorization configures the Authorization header credentials used by + the client. - Cannot be set at the same time as `basicAuth`, or `oauth2`. + Cannot be set at the same time as `basicAuth`, `bearerTokenSecret` or `oauth2`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -124,7 +124,7 @@ spec: x-kubernetes-map-type: atomic type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -133,14 +133,14 @@ spec: type: object basicAuth: description: |- - `basicAuth` configures the Basic Authentication credentials to use when - scraping the target. + basicAuth defines the Basic Authentication credentials used by the + client. - Cannot be set at the same time as `authorization`, or `oauth2`. + Cannot be set at the same time as `authorization`, `bearerTokenSecret` or `oauth2`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -164,7 +164,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -189,15 +189,18 @@ spec: type: object bearerTokenFile: description: |- - File to read bearer token for scraping the target. + bearerTokenFile defines the file to read bearer token for scraping the target. Deprecated: use `authorization` instead. type: string bearerTokenSecret: description: |- - `bearerTokenSecret` specifies a key of a Secret containing the bearer - token for scraping targets. The secret needs to be in the same namespace - as the ServiceMonitor object and readable by the Prometheus Operator. + bearerTokenSecret defines a key of a Secret containing the bearer token + used by the client for authentication. The secret needs to be in the + same namespace as the custom resource and readable by the Prometheus + Operator. + + Cannot be set at the same time as `authorization`, `basicAuth` or `oauth2`. Deprecated: use `authorization` instead. properties: @@ -221,11 +224,11 @@ spec: type: object x-kubernetes-map-type: atomic enableHttp2: - description: '`enableHttp2` can be used to disable HTTP2 when scraping the target.' + description: enableHttp2 can be used to disable HTTP2. type: boolean filterRunning: description: |- - When true, the pods which are not running (e.g. either in Failed or + filterRunning when true, the pods which are not running (e.g. either in Failed or Succeeded state) are dropped during the target discovery. If unset, the filtering is enabled. @@ -234,29 +237,29 @@ spec: type: boolean followRedirects: description: |- - `followRedirects` defines whether the scrape requests should follow HTTP - 3xx redirects. + followRedirects defines whether the client should follow HTTP 3xx + redirects. type: boolean honorLabels: description: |- - When true, `honorLabels` preserves the metric's labels when they collide + honorLabels defines when true the metric's labels when they collide with the target's labels. type: boolean honorTimestamps: description: |- - `honorTimestamps` controls whether Prometheus preserves the timestamps + honorTimestamps defines whether Prometheus preserves the timestamps when exposed by the target. type: boolean interval: description: |- - Interval at which Prometheus scrapes the metrics from the target. + interval at which Prometheus scrapes the metrics from the target. If empty, Prometheus uses the global scrape interval. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string metricRelabelings: description: |- - `metricRelabelings` configures the relabeling rules to apply to the + metricRelabelings defines the relabeling rules to apply to the samples before ingestion. items: description: |- @@ -268,7 +271,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -300,39 +303,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -343,7 +346,7 @@ spec: type: array noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -351,19 +354,19 @@ spec: type: string oauth2: description: |- - `oauth2` configures the OAuth2 settings to use when scraping the target. + oauth2 defines the OAuth2 settings used by the client. It requires Prometheus >= 2.27.0. - Cannot be set at the same time as `authorization`, or `basicAuth`. + Cannot be set at the same time as `authorization`, `basicAuth` or `bearerTokenSecret`. properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -385,7 +388,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -409,7 +412,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -435,12 +438,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -472,7 +475,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -480,29 +483,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -524,7 +527,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -547,10 +550,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -572,7 +575,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -595,10 +598,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -621,7 +624,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -632,7 +635,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -642,11 +645,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -663,13 +666,13 @@ spec: type: object path: description: |- - HTTP path from which to scrape for metrics. + path defines the HTTP path from which to scrape for metrics. If empty, Prometheus uses the default value (e.g. `/metrics`). type: string port: description: |- - Name of the Service port which this endpoint refers to. + port defines the name of the Service port which this endpoint refers to. It takes precedence over `targetPort`. type: string @@ -699,7 +702,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -707,17 +710,17 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string relabelings: description: |- - `relabelings` configures the relabeling rules to apply the target's + relabelings defines the relabeling rules to apply the target's metadata labels. The Operator automatically adds relabelings for a few standard Kubernetes fields. @@ -735,7 +738,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -767,39 +770,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -809,20 +812,16 @@ spec: type: object type: array scheme: - description: |- - HTTP scheme to use for scraping. - - `http` and `https` are the expected values unless you rewrite the - `__scheme__` label via relabeling. - - If empty, Prometheus uses the default value `http`. + description: scheme defines the HTTP scheme to use when scraping the metrics. enum: - http - https + - HTTP + - HTTPS type: string scrapeTimeout: description: |- - Timeout after which Prometheus considers the scrape to be failed. + scrapeTimeout defines the timeout after which Prometheus considers the scrape to be failed. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used. @@ -834,17 +833,17 @@ spec: - type: integer - type: string description: |- - Name or number of the target port of the `Pod` object behind the + targetPort defines the name or number of the target port of the `Pod` object behind the Service. The port must be specified with the container's port property. x-kubernetes-int-or-string: true tlsConfig: - description: TLS configuration to use when scraping the target. + description: tlsConfig defines TLS configuration used by the client. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -866,7 +865,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -889,13 +888,13 @@ spec: x-kubernetes-map-type: atomic type: object caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. type: string cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -917,7 +916,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -940,16 +939,16 @@ spec: x-kubernetes-map-type: atomic type: object certFile: - description: Path to the client cert file in the Prometheus container for the targets. + description: certFile defines the path to the client cert file in the Prometheus container for the targets. type: string insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keyFile: - description: Path to the client key file in the Prometheus container for the targets. + description: keyFile defines the path to the client key file in the Prometheus container for the targets. type: string keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -972,7 +971,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -983,7 +982,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -993,12 +992,12 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object trackTimestampsStaleness: description: |- - `trackTimestampsStaleness` defines whether Prometheus tracks staleness of + trackTimestampsStaleness defines whether Prometheus tracks staleness of the metrics that have an explicit timestamp present in scraped data. Has no effect if `honorTimestamps` is false. @@ -1008,7 +1007,7 @@ spec: type: array fallbackScrapeProtocol: description: |- - The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. + fallbackScrapeProtocol defines the protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type. It requires Prometheus >= v3.0.0. enum: @@ -1020,7 +1019,7 @@ spec: type: string jobLabel: description: |- - `jobLabel` selects the label from the associated Kubernetes `Service` + jobLabel selects the label from the associated Kubernetes `Service` object which will be used as the `job` label for all metrics. For example if `jobLabel` is set to `foo` and the Kubernetes `Service` @@ -1033,7 +1032,7 @@ spec: type: string keepDroppedTargets: description: |- - Per-scrape limit on the number of targets dropped by relabeling + keepDroppedTargets defines the per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0. @@ -1041,44 +1040,44 @@ spec: type: integer labelLimit: description: |- - Per-scrape limit on number of labels that will be accepted for a sample. + labelLimit defines the per-scrape limit on number of labels that will be accepted for a sample. It requires Prometheus >= v2.27.0. format: int64 type: integer labelNameLengthLimit: description: |- - Per-scrape limit on length of labels name that will be accepted for a sample. + labelNameLengthLimit defines the per-scrape limit on length of labels name that will be accepted for a sample. It requires Prometheus >= v2.27.0. format: int64 type: integer labelValueLengthLimit: description: |- - Per-scrape limit on length of labels value that will be accepted for a sample. + labelValueLengthLimit defines the per-scrape limit on length of labels value that will be accepted for a sample. It requires Prometheus >= v2.27.0. format: int64 type: integer namespaceSelector: description: |- - `namespaceSelector` defines in which namespace(s) Prometheus should discover the services. + namespaceSelector defines in which namespace(s) Prometheus should discover the services. By default, the services are discovered in the same namespace as the `ServiceMonitor` object but it is possible to select pods across different/all namespaces. properties: any: description: |- - Boolean describing whether all namespaces are selected in contrast to a + any defines the boolean describing whether all namespaces are selected in contrast to a list restricting them. type: boolean matchNames: - description: List of namespace names to select from. + description: matchNames defines the list of namespace names to select from. items: type: string type: array type: object nativeHistogramBucketLimit: description: |- - If there are more than this many buckets in a native histogram, + nativeHistogramBucketLimit defines ff there are more than this many buckets in a native histogram, buckets will be merged to stay within the limit. It requires Prometheus >= v2.45.0. format: int64 @@ -1088,38 +1087,43 @@ spec: - type: integer - type: string description: |- - If the growth factor of one bucket to the next is smaller than this, + nativeHistogramMinBucketFactor defines if the growth factor of one bucket to the next is smaller than this, buckets will be merged to increase the factor sufficiently. It requires Prometheus >= v2.50.0. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true podTargetLabels: description: |- - `podTargetLabels` defines the labels which are transferred from the + podTargetLabels defines the labels which are transferred from the associated Kubernetes `Pod` object onto the ingested metrics. items: type: string type: array sampleLimit: description: |- - `sampleLimit` defines a per-scrape limit on the number of scraped samples + sampleLimit defines a per-scrape limit on the number of scraped samples that will be accepted. format: int64 type: integer scrapeClass: - description: The scrape class to apply. + description: scrapeClass defines the scrape class to apply. minLength: 1 type: string scrapeClassicHistograms: description: |- - Whether to scrape a classic histogram that is also exposed as a native histogram. + scrapeClassicHistograms defines whether to scrape a classic histogram that is also exposed as a native histogram. It requires Prometheus >= v2.45.0. Notice: `scrapeClassicHistograms` corresponds to the `always_scrape_classic_histograms` field in the Prometheus configuration. type: boolean + scrapeNativeHistograms: + description: |- + scrapeNativeHistograms defines whether to enable scraping of native histograms. + It requires Prometheus >= v3.8.0. + type: boolean scrapeProtocols: description: |- - `scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the + scrapeProtocols defines the protocols to negotiate during a scrape. It tells clients the protocols supported by Prometheus in order of preference (from most to least preferred). If unset, Prometheus uses its default value. @@ -1144,7 +1148,7 @@ spec: type: array x-kubernetes-list-type: set selector: - description: Label selector to select the Kubernetes `Endpoints` objects to scrape metrics from. + description: selector defines the label selector to select the Kubernetes `Endpoints` objects to scrape metrics from. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -1189,7 +1193,7 @@ spec: x-kubernetes-map-type: atomic selectorMechanism: description: |- - Mechanism used to select the endpoints to scrape. + selectorMechanism defines the mechanism used to select the endpoints to scrape. By default, the selection process relies on relabel configurations to filter the discovered targets. Alternatively, you can opt in for role selectors, which may offer better efficiency in large clusters. Which strategy is best for your use case needs to be carefully evaluated. @@ -1199,16 +1203,27 @@ spec: - RelabelConfig - RoleSelector type: string + serviceDiscoveryRole: + description: |- + serviceDiscoveryRole defines the service discovery role used to discover targets. + + If set, the value should be either "Endpoints" or "EndpointSlice". + Otherwise it defaults to the value defined in the + Prometheus/PrometheusAgent resource. + enum: + - Endpoints + - EndpointSlice + type: string targetLabels: description: |- - `targetLabels` defines the labels which are transferred from the + targetLabels defines the labels which are transferred from the associated Kubernetes `Service` object onto the ingested metrics. items: type: string type: array targetLimit: description: |- - `targetLimit` defines a limit on the number of scraped targets that will + targetLimit defines a limit on the number of scraped targets that will be accepted. format: int64 type: integer @@ -1218,7 +1233,7 @@ spec: type: object status: description: |- - This Status subresource is under active development and is updated only when the + status defines the status subresource. It is under active development and is updated only when the "StatusForConfigurationResources" feature gate is enabled. Most recent observed status of the ServiceMonitor. Read-only. @@ -1226,40 +1241,40 @@ spec: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: bindings: - description: The list of workload resources (Prometheus or PrometheusAgent) which select the configuration resource. + description: bindings defines the list of workload resources (Prometheus, PrometheusAgent, ThanosRuler or Alertmanager) which select the configuration resource. items: description: WorkloadBinding is a link between a configuration resource and a workload resource. properties: conditions: - description: The current state of the configuration resource when bound to the referenced Prometheus object. + description: conditions defines the current state of the configuration resource when bound to the referenced Workload object. items: - description: ConfigResourceCondition describes the status of configuration resources linked to Prometheus, PrometheusAgent, Alertmanager, or ThanosRuler. + description: ConfigResourceCondition describes the status of configuration resources linked to Prometheus, PrometheusAgent, Alertmanager or ThanosRuler. properties: lastTransitionTime: - description: LastTransitionTime is the time of the last update to the current status property. + description: lastTransitionTime defines the time of the last update to the current status property. format: date-time type: string message: - description: Human-readable message indicating details for the condition's last transition. + description: message defines the human-readable message indicating details for the condition's last transition. type: string observedGeneration: description: |- - ObservedGeneration represents the .metadata.generation that the + observedGeneration defines the .metadata.generation that the condition was set based upon. For instance, if `.metadata.generation` is currently 12, but the `.status.conditions[].observedGeneration` is 9, the condition is out of date with respect to the current state of the object. format: int64 type: integer reason: - description: Reason for the condition's last transition. + description: reason for the condition's last transition. type: string status: - description: Status of the condition. + description: status of the condition. minLength: 1 type: string type: description: |- - Type of the condition being reported. + type of the condition being reported. Currently, only "Accepted" is supported. enum: - Accepted @@ -1275,23 +1290,25 @@ spec: - type x-kubernetes-list-type: map group: - description: The group of the referenced resource. + description: group defines the group of the referenced resource. enum: - monitoring.coreos.com type: string name: - description: The name of the referenced object. + description: name defines the name of the referenced object. minLength: 1 type: string namespace: - description: The namespace of the referenced object. + description: namespace defines the namespace of the referenced object. minLength: 1 type: string resource: - description: The type of resource being referenced (e.g. Prometheus or PrometheusAgent). + description: resource defines the type of resource being referenced (e.g. Prometheus, PrometheusAgent, ThanosRuler or Alertmanager). enum: - prometheuses - prometheusagents + - thanosrulers + - alertmanagers type: string required: - group diff --git a/modules/observability/prometheus-operator/base/crds/thanosrulers.monitoring.coreos.com.yaml b/modules/observability/prometheus-operator/base/crds/thanosrulers.monitoring.coreos.com.yaml index e61a344b..1d4a25ea 100644 --- a/modules/observability/prometheus-operator/base/crds/thanosrulers.monitoring.coreos.com.yaml +++ b/modules/observability/prometheus-operator/base/crds/thanosrulers.monitoring.coreos.com.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 - operator.prometheus.io/version: 0.85.0 + controller-gen.kubebuilder.io/version: v0.19.0 + operator.prometheus.io/version: 0.87.1 name: thanosrulers.monitoring.coreos.com spec: group: monitoring.coreos.com @@ -75,12 +75,12 @@ spec: type: object spec: description: |- - Specification of the desired behavior of the ThanosRuler cluster. More info: + spec defines the specification of the desired behavior of the ThanosRuler cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: additionalArgs: description: |- - AdditionalArgs allows setting additional arguments for the ThanosRuler container. + additionalArgs defines how to add additional arguments for the ThanosRuler container. It is intended for e.g. activating hidden flags which are not supported by the dedicated configuration options yet. The arguments are passed as-is to the ThanosRuler container which may cause issues if they are invalid or not supported @@ -92,18 +92,18 @@ spec: description: Argument as part of the AdditionalArgs list. properties: name: - description: Name of the argument, e.g. "scrape.discovery-reload-interval". + description: name of the argument, e.g. "scrape.discovery-reload-interval". minLength: 1 type: string value: - description: Argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) + description: value defines the argument value, e.g. 30s. Can be empty for name-only arguments (e.g. --storage.tsdb.no-lockfile) type: string required: - name type: object type: array affinity: - description: If specified, the pod's scheduling constraints. + description: affinity defines when specified, the pod's scheduling constraints. properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. @@ -977,7 +977,7 @@ spec: type: object alertDropLabels: description: |- - Configures the label names which should be dropped in Thanos Ruler + alertDropLabels defines the label names which should be dropped in Thanos Ruler alerts. The replica label `thanos_ruler_replica` will always be dropped from the alerts. @@ -986,13 +986,13 @@ spec: type: array alertQueryUrl: description: |- - The external Query URL the Thanos Ruler will set in the 'Source' field + alertQueryUrl defines how Thanos Ruler will set in the 'Source' field of all alerts. Maps to the '--alert.query-url' CLI arg. type: string alertRelabelConfigFile: description: |- - Configures the path to the alert relabeling configuration file. + alertRelabelConfigFile defines the path to the alert relabeling configuration file. Alert relabel configuration must have the form as specified in the official Prometheus documentation: @@ -1004,7 +1004,7 @@ spec: type: string alertRelabelConfigs: description: |- - Configures alert relabeling in Thanos Ruler. + alertRelabelConfigs defines the alert relabeling in Thanos Ruler. Alert relabel configuration must have the form as specified in the official Prometheus documentation: @@ -1035,7 +1035,7 @@ spec: x-kubernetes-map-type: atomic alertmanagersConfig: description: |- - Configures the list of Alertmanager endpoints to send alerts to. + alertmanagersConfig defines the list of Alertmanager endpoints to send alerts to. The configuration format is defined at https://thanos.io/tip/components/rule.md/#alertmanager. @@ -1066,7 +1066,7 @@ spec: x-kubernetes-map-type: atomic alertmanagersUrl: description: |- - Configures the list of Alertmanager endpoints to send alerts to. + alertmanagersUrl defines the list of Alertmanager endpoints to send alerts to. For Thanos >= v0.10.0, it is recommended to use `alertmanagersConfig` instead. @@ -1076,7 +1076,7 @@ spec: type: array containers: description: |- - Containers allows injecting additional containers or modifying operator generated + containers allows injecting additional containers or modifying operator generated containers. This can be used to allow adding an authentication proxy to a ThanosRuler pod or to change the behavior of an operator generated container. Containers described here modify an operator generated container if they share the same name and modifications are done via a @@ -2544,11 +2544,11 @@ spec: type: object type: array dnsConfig: - description: Defines the DNS configuration for the pods. + description: dnsConfig defines Defines the DNS configuration for the pods. properties: nameservers: description: |- - A list of DNS name server IP addresses. + nameservers defines the list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. items: minLength: 1 @@ -2557,7 +2557,7 @@ spec: x-kubernetes-list-type: set options: description: |- - A list of DNS resolver options. + options defines the list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Resolution options given in Options will override those that appear in the base DNSPolicy. @@ -2565,11 +2565,11 @@ spec: description: PodDNSConfigOption defines DNS resolver options of a pod. properties: name: - description: Name is required and must be unique. + description: name is required and must be unique. minLength: 1 type: string value: - description: Value is optional. + description: value is optional. type: string required: - name @@ -2580,7 +2580,7 @@ spec: x-kubernetes-list-type: map searches: description: |- - A list of DNS search domains for host-name lookup. + searches defines the list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. items: minLength: 1 @@ -2589,7 +2589,7 @@ spec: x-kubernetes-list-type: set type: object dnsPolicy: - description: Defines the DNS policy for the pods. + description: dnsPolicy defines the DNS policy for the pods. enum: - ClusterFirstWithHostNet - ClusterFirst @@ -2598,7 +2598,7 @@ spec: type: string enableFeatures: description: |- - Enable access to Thanos Ruler feature flags. By default, no features are enabled. + enableFeatures defines how to setup Thanos Ruler feature flags. By default, no features are enabled. Enabling features which are disabled by default is entirely outside the scope of what the maintainers will support and by doing so, you accept @@ -2613,22 +2613,22 @@ spec: type: array x-kubernetes-list-type: set enableServiceLinks: - description: Indicates whether information about services should be injected into pod's environment variables + description: enableServiceLinks defines whether information about services should be injected into pod's environment variables type: boolean enforcedNamespaceLabel: description: |- - EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert + enforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric that is user created. The label value will always be the namespace of the object that is being created. type: string evaluationInterval: default: 15s - description: Interval between consecutive evaluations. + description: evaluationInterval defines the interval between consecutive evaluations. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string excludedFromEnforcement: description: |- - List of references to PrometheusRule objects + excludedFromEnforcement defines the list of references to PrometheusRule objects to be excluded from enforcing a namespace label of origin. Applies only if enforcedNamespaceLabel set to true. items: @@ -2636,21 +2636,21 @@ spec: properties: group: default: monitoring.coreos.com - description: Group of the referent. When not specified, it defaults to `monitoring.coreos.com` + description: group of the referent. When not specified, it defaults to `monitoring.coreos.com` enum: - monitoring.coreos.com type: string name: - description: Name of the referent. When not set, all resources in the namespace are matched. + description: name of the referent. When not set, all resources in the namespace are matched. type: string namespace: description: |- - Namespace of the referent. + namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ minLength: 1 type: string resource: - description: Resource of the referent. + description: resource of the referent. enum: - prometheusrules - servicemonitors @@ -2665,22 +2665,22 @@ spec: type: array externalPrefix: description: |- - The external URL the Thanos Ruler instances will be available under. This is + externalPrefix defines the Thanos Ruler instances will be available under. This is necessary to generate correct URLs. This is necessary if Thanos Ruler is not served from root of a DNS name. type: string grpcServerTlsConfig: description: |- - GRPCServerTLSConfig configures the gRPC server from which Thanos Querier reads + grpcServerTlsConfig defines the gRPC server from which Thanos Querier reads recorded rule data. Note: Currently only the CAFile, CertFile, and KeyFile fields are supported. Maps to the '--grpc-server-tls-*' CLI args. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2702,7 +2702,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2725,13 +2725,13 @@ spec: x-kubernetes-map-type: atomic type: object caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. type: string cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -2753,7 +2753,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2776,16 +2776,16 @@ spec: x-kubernetes-map-type: atomic type: object certFile: - description: Path to the client cert file in the Prometheus container for the targets. + description: certFile defines the path to the client cert file in the Prometheus container for the targets. type: string insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keyFile: - description: Path to the client key file in the Prometheus container for the targets. + description: keyFile defines the path to the client key file in the Prometheus container for the targets. type: string keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -2808,7 +2808,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -2819,7 +2819,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -2829,23 +2829,23 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object hostAliases: - description: Pods' hostAliases configuration + description: hostAliases defines pods' hostAliases configuration items: description: |- HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file. properties: hostnames: - description: Hostnames for the above IP address. + description: hostnames defines hostnames for the above IP address. items: type: string type: array ip: - description: IP address of the host file entry. + description: ip defines the IP address of the host file entry. type: string required: - hostnames @@ -2857,7 +2857,7 @@ spec: x-kubernetes-list-type: map hostUsers: description: |- - HostUsers supports the user space in Kubernetes. + hostUsers supports the user space in Kubernetes. More info: https://kubernetes.io/docs/tasks/configure-pod-container/user-namespaces/ @@ -2865,11 +2865,11 @@ spec: Starting Kubernetes 1.33, the feature is enabled by default. type: boolean image: - description: Thanos container image URL. + description: image defines Thanos container image URL. type: string imagePullPolicy: description: |- - Image pull policy for the 'thanos', 'init-config-reloader' and 'config-reloader' containers. + imagePullPolicy defines for the 'thanos', 'init-config-reloader' and 'config-reloader' containers. See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details. enum: - "" @@ -2879,7 +2879,7 @@ spec: type: string imagePullSecrets: description: |- - An optional list of references to secrets in the same namespace + imagePullSecrets defines an optional list of references to secrets in the same namespace to use for pulling thanos images from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod items: @@ -2901,7 +2901,7 @@ spec: type: array initContainers: description: |- - InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. + initContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the ThanosRuler configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ @@ -4372,25 +4372,25 @@ spec: additionalProperties: type: string description: |- - Configures the external label pairs of the ThanosRuler resource. + labels defines the external label pairs of the ThanosRuler resource. A default replica label `thanos_ruler_replica` will be always added as a label with the value of the pod's name. type: object listenLocal: description: |- - ListenLocal makes the Thanos ruler listen on loopback, so that it + listenLocal defines the Thanos ruler listen on loopback, so that it does not bind against the Pod IP. type: boolean logFormat: - description: Log format for ThanosRuler to be configured with. + description: logFormat for ThanosRuler to be configured with. enum: - "" - logfmt - json type: string logLevel: - description: Log level for ThanosRuler to be configured with. + description: logLevel for ThanosRuler to be configured with. enum: - "" - debug @@ -4400,7 +4400,7 @@ spec: type: string minReadySeconds: description: |- - Minimum number of seconds for which a newly created pod should be ready + minReadySeconds defines the minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. If unset, pods will be considered available as soon as they are ready. @@ -4410,13 +4410,11 @@ spec: nodeSelector: additionalProperties: type: string - description: Define which Nodes the Pods are scheduled on. + description: nodeSelector defines which Nodes the Pods are scheduled on. type: object objectStorageConfig: description: |- - Configures object storage. - - The configuration format is defined at https://thanos.io/tip/thanos/storage.md/#configuring-access-to-object-storage + objectStorageConfig defines the configuration format is defined at https://thanos.io/tip/thanos/storage.md/#configuring-access-to-object-storage The operator performs no validation of the configuration. @@ -4443,7 +4441,7 @@ spec: x-kubernetes-map-type: atomic objectStorageConfigFile: description: |- - Configures the path of the object storage configuration file. + objectStorageConfigFile defines the path of the object storage configuration file. The configuration format is defined at https://thanos.io/tip/thanos/storage.md/#configuring-access-to-object-storage @@ -4453,12 +4451,27 @@ spec: type: string paused: description: |- - When a ThanosRuler deployment is paused, no actions except for deletion + paused defines when a ThanosRuler deployment is paused, no actions except for deletion will be performed on the underlying objects. type: boolean + podManagementPolicy: + description: |- + podManagementPolicy defines the policy for creating/deleting pods when + scaling up and down. + + Unlike the default StatefulSet behavior, the default policy is + `Parallel` to avoid manual intervention in case a pod gets stuck during + a rollout. + + Note that updating this value implies the recreation of the StatefulSet + which incurs a service outage. + enum: + - OrderedReady + - Parallel + type: string podMetadata: description: |- - PodMetadata configures labels and annotations which are propagated to the ThanosRuler pods. + podMetadata defines labels and annotations which are propagated to the ThanosRuler pods. The following items are reserved and cannot be overridden: * "app.kubernetes.io/name" label, set to "thanos-ruler". @@ -4471,7 +4484,7 @@ spec: additionalProperties: type: string description: |- - Annotations is an unstructured key value map stored with a resource that may be + annotations defines 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/ @@ -4480,14 +4493,14 @@ spec: additionalProperties: type: string description: |- - Map of string keys and values that can be used to organize and categorize + labels define the 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 name: description: |- - Name must be unique within a namespace. Is required when creating resources, although + 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. @@ -4498,15 +4511,15 @@ spec: portName: default: web description: |- - Port name used for the pods and governing service. + portName defines the port name used for the pods and governing service. Defaults to `web`. type: string priorityClassName: - description: Priority class assigned to the Pods + description: priorityClassName defines the priority class assigned to the Pods type: string prometheusRulesExcludedFromEnforce: description: |- - PrometheusRulesExcludedFromEnforce - list of Prometheus rules to be excluded from enforcing + prometheusRulesExcludedFromEnforce defines a list of Prometheus rules to be excluded from enforcing of adding namespace labels. Works only if enforcedNamespaceLabel set to true. Make sure both ruleNamespace and ruleName are set for each pair Deprecated: use excludedFromEnforcement instead. @@ -4517,10 +4530,10 @@ spec: namespace label for alerts and metrics. properties: ruleName: - description: Name of the excluded PrometheusRule object. + description: ruleName defines the name of the excluded PrometheusRule object. type: string ruleNamespace: - description: Namespace of the excluded PrometheusRule object. + description: ruleNamespace defines the namespace of the excluded PrometheusRule object. type: string required: - ruleName @@ -4529,7 +4542,7 @@ spec: type: array queryConfig: description: |- - Configures the list of Thanos Query endpoints from which to query metrics. + queryConfig defines the list of Thanos Query endpoints from which to query metrics. The configuration format is defined at https://thanos.io/tip/components/rule.md/#query-api @@ -4560,7 +4573,7 @@ spec: x-kubernetes-map-type: atomic queryEndpoints: description: |- - Configures the list of Thanos Query endpoints from which to query metrics. + queryEndpoints defines the list of Thanos Query endpoints from which to query metrics. For Thanos >= v0.11.0, it is recommended to use `queryConfig` instead. @@ -4570,7 +4583,7 @@ spec: type: array remoteWrite: description: |- - Defines the list of remote write configurations. + remoteWrite defines the list of remote write configurations. When the list isn't empty, the ruler is configured with stateless mode. @@ -4582,14 +4595,14 @@ spec: properties: authorization: description: |- - Authorization section for the URL. + authorization section for the URL. It requires Prometheus >= v2.26.0 or Thanos >= v0.24.0. Cannot be set at the same time as `sigv4`, `basicAuth`, `oauth2`, or `azureAd`. properties: credentials: - description: Selects a key of a Secret in the namespace that contains the credentials for authentication. + description: credentials defines a key of a Secret in the namespace that contains the credentials for authentication. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4611,11 +4624,11 @@ spec: type: object x-kubernetes-map-type: atomic credentialsFile: - description: File to read a secret from, mutually exclusive with `credentials`. + description: credentialsFile defines the file to read a secret from, mutually exclusive with `credentials`. type: string type: description: |- - Defines the authentication type. The value is case-insensitive. + type defines the authentication type. The value is case-insensitive. "Basic" is not a supported value. @@ -4624,14 +4637,14 @@ spec: type: object azureAd: description: |- - AzureAD for the URL. + azureAd for the URL. It requires Prometheus >= v2.45.0 or Thanos >= v0.31.0. Cannot be set at the same time as `authorization`, `basicAuth`, `oauth2`, or `sigv4`. properties: cloud: - description: The Azure Cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'. + description: cloud defines the Azure Cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'. enum: - AzureChina - AzureGovernment @@ -4639,28 +4652,30 @@ spec: type: string managedIdentity: description: |- - ManagedIdentity defines the Azure User-assigned Managed identity. + managedIdentity defines the Azure User-assigned Managed identity. Cannot be set at the same time as `oauth` or `sdk`. properties: clientId: - description: The client id + description: |- + clientId defines the Azure User-assigned Managed identity. + + For Prometheus >= 3.5.0 and Thanos >= 0.40.0, this field is allowed to be empty to support system-assigned managed identities. + minLength: 1 type: string - required: - - clientId type: object oauth: description: |- - OAuth defines the oauth config that is being used to authenticate. + oauth defines the oauth config that is being used to authenticate. Cannot be set at the same time as `managedIdentity` or `sdk`. It requires Prometheus >= v2.48.0 or Thanos >= v0.31.0. properties: clientId: - description: '`clientID` is the clientId of the Azure Active Directory application that is being used to authenticate.' + description: clientId defines the clientId of the Azure Active Directory application that is being used to authenticate. minLength: 1 type: string clientSecret: - description: '`clientSecret` specifies a key of a Secret containing the client secret of the Azure Active Directory application that is being used to authenticate.' + description: clientSecret specifies a key of a Secret containing the client secret of the Azure Active Directory application that is being used to authenticate. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4682,7 +4697,7 @@ spec: type: object x-kubernetes-map-type: atomic tenantId: - description: '`tenantId` is the tenant ID of the Azure Active Directory application that is being used to authenticate.' + description: tenantId is the tenant ID of the Azure Active Directory application that is being used to authenticate. minLength: 1 pattern: ^[0-9a-zA-Z-.]+$ type: string @@ -4693,27 +4708,27 @@ spec: type: object sdk: description: |- - SDK defines the Azure SDK config that is being used to authenticate. + sdk defines the Azure SDK config that is being used to authenticate. See https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication Cannot be set at the same time as `oauth` or `managedIdentity`. It requires Prometheus >= v2.52.0 or Thanos >= v0.36.0. properties: tenantId: - description: '`tenantId` is the tenant ID of the azure active directory application that is being used to authenticate.' + description: tenantId defines the tenant ID of the azure active directory application that is being used to authenticate. pattern: ^[0-9a-zA-Z-.]+$ type: string type: object type: object basicAuth: description: |- - BasicAuth configuration for the URL. + basicAuth configuration for the URL. Cannot be set at the same time as `sigv4`, `authorization`, `oauth2`, or `azureAd`. properties: password: description: |- - `password` specifies a key of a Secret containing the password for + password defines a key of a Secret containing the password for authentication. properties: key: @@ -4737,7 +4752,7 @@ spec: x-kubernetes-map-type: atomic username: description: |- - `username` specifies a key of a Secret containing the username for + username defines a key of a Secret containing the username for authentication. properties: key: @@ -4762,23 +4777,22 @@ spec: type: object bearerToken: description: |- + bearerToken is deprecated: this will be removed in a future release. *Warning: this field shouldn't be used because the token value appears in clear-text. Prefer using `authorization`.* - - Deprecated: this will be removed in a future release. type: string bearerTokenFile: description: |- - File from which to read bearer token for the URL. + bearerTokenFile defines the file from which to read bearer token for the URL. Deprecated: this will be removed in a future release. Prefer using `authorization`. type: string enableHTTP2: - description: Whether to enable HTTP2. + description: enableHTTP2 defines whether to enable HTTP2. type: boolean followRedirects: description: |- - Configure whether HTTP requests follow HTTP 3xx redirects. + followRedirects defines whether HTTP requests follow HTTP 3xx redirects. It requires Prometheus >= v2.26.0 or Thanos >= v0.24.0. type: boolean @@ -4786,14 +4800,14 @@ spec: additionalProperties: type: string description: |- - Custom HTTP headers to be sent along with each remote write request. + headers defines the custom HTTP headers to be sent along with each remote write request. Be aware that headers that are set by Prometheus itself can't be overwritten. It requires Prometheus >= v2.25.0 or Thanos >= v0.24.0. type: object messageVersion: description: |- - The Remote Write message's version to use when writing to the endpoint. + messageVersion defines the Remote Write message's version to use when writing to the endpoint. `Version1.0` corresponds to the `prometheus.WriteRequest` protobuf message introduced in Remote Write 1.0. `Version2.0` corresponds to the `io.prometheus.write.v2.Request` protobuf message introduced in Remote Write 2.0. @@ -4810,34 +4824,38 @@ spec: - V2.0 type: string metadataConfig: - description: MetadataConfig configures the sending of series metadata to the remote storage. + description: |- + metadataConfig defines how to send a series metadata to the remote storage. + + When the field is empty, **no metadata** is sent. But when the field is + null, metadata is sent. properties: maxSamplesPerSend: description: |- - MaxSamplesPerSend is the maximum number of metadata samples per send. + maxSamplesPerSend defines the maximum number of metadata samples per send. It requires Prometheus >= v2.29.0. format: int32 minimum: -1 type: integer send: - description: Defines whether metric metadata is sent to the remote storage or not. + description: send defines whether metric metadata is sent to the remote storage or not. type: boolean sendInterval: - description: Defines how frequently metric metadata is sent to the remote storage. + description: sendInterval defines how frequently metric metadata is sent to the remote storage. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string type: object name: description: |- - The name of the remote write queue, it must be unique if specified. The + name of the remote write queue, it must be unique if specified. The name is used in metrics and logging in order to differentiate queues. It requires Prometheus >= v2.15.0 or Thanos >= 0.24.0. type: string noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -4845,7 +4863,7 @@ spec: type: string oauth2: description: |- - OAuth2 configuration for the URL. + oauth2 configuration for the URL. It requires Prometheus >= v2.27.0 or Thanos >= v0.24.0. @@ -4853,11 +4871,11 @@ spec: properties: clientId: description: |- - `clientId` specifies a key of a Secret or ConfigMap containing the + clientId defines a key of a Secret or ConfigMap containing the OAuth2 client's ID. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -4879,7 +4897,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -4903,7 +4921,7 @@ spec: type: object clientSecret: description: |- - `clientSecret` specifies a key of a Secret containing the OAuth2 + clientSecret defines a key of a Secret containing the OAuth2 client's secret. properties: key: @@ -4929,12 +4947,12 @@ spec: additionalProperties: type: string description: |- - `endpointParams` configures the HTTP parameters to append to the token + endpointParams configures the HTTP parameters to append to the token URL. type: object noProxy: description: |- - `noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names + noProxy defines a comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers. @@ -4966,7 +4984,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -4974,29 +4992,29 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string scopes: - description: '`scopes` defines the OAuth2 scopes used for the token request.' + description: scopes defines the OAuth2 scopes used for the token request. items: type: string type: array tlsConfig: description: |- - TLS configuration to use when connecting to the OAuth2 server. + tlsConfig defines the TLS configuration to use when connecting to the OAuth2 server. It requires Prometheus >= v2.43.0. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5018,7 +5036,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5041,10 +5059,10 @@ spec: x-kubernetes-map-type: atomic type: object cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5066,7 +5084,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5089,10 +5107,10 @@ spec: x-kubernetes-map-type: atomic type: object insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5115,7 +5133,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -5126,7 +5144,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -5136,11 +5154,11 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object tokenUrl: - description: '`tokenURL` configures the URL to fetch the token from.' + description: tokenUrl defines the URL to fetch the token from. minLength: 1 type: string required: @@ -5174,7 +5192,7 @@ spec: x-kubernetes-map-type: atomic type: array description: |- - ProxyConnectHeader optionally specifies headers to send to + proxyConnectHeader optionally specifies headers to send to proxies during CONNECT requests. It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. @@ -5182,82 +5200,70 @@ spec: x-kubernetes-map-type: atomic proxyFromEnvironment: description: |- - Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). + proxyFromEnvironment defines whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY). It requires Prometheus >= v2.43.0, Alertmanager >= v0.25.0 or Thanos >= v0.32.0. type: boolean proxyUrl: - description: '`proxyURL` defines the HTTP proxy server to use.' + description: proxyUrl defines the HTTP proxy server to use. pattern: ^(http|https|socks5)://.+$ type: string queueConfig: - description: QueueConfig allows tuning of the remote write queue parameters. + description: queueConfig allows tuning of the remote write queue parameters. properties: batchSendDeadline: - description: BatchSendDeadline is the maximum time a sample will wait in buffer. + description: batchSendDeadline defines the maximum time a sample will wait in buffer. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string capacity: description: |- - Capacity is the number of samples to buffer per shard before we start + capacity defines the number of samples to buffer per shard before we start dropping them. type: integer maxBackoff: - description: MaxBackoff is the maximum retry delay. + description: maxBackoff defines the maximum retry delay. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string maxRetries: - description: MaxRetries is the maximum number of times to retry a batch on recoverable errors. + description: maxRetries defines the maximum number of times to retry a batch on recoverable errors. type: integer maxSamplesPerSend: - description: MaxSamplesPerSend is the maximum number of samples per send. + description: maxSamplesPerSend defines the maximum number of samples per send. type: integer maxShards: - description: MaxShards is the maximum number of shards, i.e. amount of concurrency. + description: maxShards defines the maximum number of shards, i.e. amount of concurrency. type: integer minBackoff: - description: MinBackoff is the initial retry delay. Gets doubled for every retry. + description: minBackoff defines the initial retry delay. Gets doubled for every retry. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string minShards: - description: MinShards is the minimum number of shards, i.e. amount of concurrency. + description: minShards defines the minimum number of shards, i.e. amount of concurrency. type: integer retryOnRateLimit: description: |- - Retry upon receiving a 429 status code from the remote-write storage. + retryOnRateLimit defines the retry upon receiving a 429 status code from the remote-write storage. This is an *experimental feature*, it may change in any upcoming release in a breaking way. type: boolean sampleAgeLimit: description: |- - SampleAgeLimit drops samples older than the limit. + sampleAgeLimit drops samples older than the limit. It requires Prometheus >= v2.50.0 or Thanos >= v0.32.0. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string type: object remoteTimeout: - description: Timeout for requests to the remote write endpoint. + description: remoteTimeout defines the timeout for requests to the remote write endpoint. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string roundRobinDNS: - description: |- - When enabled: - - The remote-write mechanism will resolve the hostname via DNS. - - It will randomly select one of the resolved IP addresses and connect to it. - - When disabled (default behavior): - - The Go standard library will handle hostname resolution. - - It will attempt connections to each resolved IP address sequentially. - - Note: The connection timeout applies to the entire resolution and connection process. - If disabled, the timeout is distributed across all connection attempts. - - It requires Prometheus >= v3.1.0 or Thanos >= v0.38.0. + description: "roundRobinDNS controls the DNS resolution behavior for remote-write connections.\nWhen enabled:\n - The remote-write mechanism will resolve the hostname via DNS.\n - It will randomly select one of the resolved IP addresses and connect to it.\n\nWhen disabled (default behavior):\n - The Go standard library will handle hostname resolution.\n - It will attempt connections to each resolved IP address sequentially.\n\nNote: The connection timeout applies to the entire resolution and connection process.\n\n\tIf disabled, the timeout is distributed across all connection attempts.\n\nIt requires Prometheus >= v3.1.0 or Thanos >= v0.38.0." type: boolean sendExemplars: description: |- - Enables sending of exemplars over remote write. Note that + sendExemplars enables sending of exemplars over remote write. Note that exemplar-storage itself must be enabled using the `spec.enableFeatures` option for exemplars to be scraped in the first place. @@ -5265,14 +5271,14 @@ spec: type: boolean sendNativeHistograms: description: |- - Enables sending of native histograms, also known as sparse histograms + sendNativeHistograms enables sending of native histograms, also known as sparse histograms over remote write. It requires Prometheus >= v2.40.0 or Thanos >= v0.30.0. type: boolean sigv4: description: |- - Sigv4 allows to configures AWS's Signature Verification 4 for the URL. + sigv4 defines the AWS's Signature Verification 4 for the URL. It requires Prometheus >= v2.26.0 or Thanos >= v0.24.0. @@ -5280,7 +5286,7 @@ spec: properties: accessKey: description: |- - AccessKey is the AWS API key. If not specified, the environment variable + accessKey defines the AWS API key. If not specified, the environment variable `AWS_ACCESS_KEY_ID` is used. properties: key: @@ -5303,17 +5309,17 @@ spec: type: object x-kubernetes-map-type: atomic profile: - description: Profile is the named AWS profile used to authenticate. + description: profile defines the named AWS profile used to authenticate. type: string region: - description: Region is the AWS region. If blank, the region from the default credentials chain used. + description: region defines the AWS region. If blank, the region from the default credentials chain used. type: string roleArn: - description: RoleArn is the named AWS profile used to authenticate. + description: roleArn defines the named AWS profile used to authenticate. type: string secretKey: description: |- - SecretKey is the AWS API secret. If not specified, the environment + secretKey defines the AWS API secret. If not specified, the environment variable `AWS_SECRET_ACCESS_KEY` is used. properties: key: @@ -5335,15 +5341,20 @@ spec: - key type: object x-kubernetes-map-type: atomic + useFIPSSTSEndpoint: + description: |- + useFIPSSTSEndpoint defines the FIPS mode for the AWS STS endpoint. + It requires Prometheus >= v2.54.0. + type: boolean type: object tlsConfig: - description: TLS Config to use for the URL. + description: tlsConfig to use for the URL. properties: ca: - description: Certificate authority used when verifying server certificates. + description: ca defines the Certificate authority used when verifying server certificates. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5365,7 +5376,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5388,13 +5399,13 @@ spec: x-kubernetes-map-type: atomic type: object caFile: - description: Path to the CA cert in the Prometheus container to use for the targets. + description: caFile defines the path to the CA cert in the Prometheus container to use for the targets. type: string cert: - description: Client certificate to present when doing client-authentication. + description: cert defines the Client certificate to present when doing client-authentication. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -5416,7 +5427,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5439,16 +5450,16 @@ spec: x-kubernetes-map-type: atomic type: object certFile: - description: Path to the client cert file in the Prometheus container for the targets. + description: certFile defines the path to the client cert file in the Prometheus container for the targets. type: string insecureSkipVerify: - description: Disable target certificate validation. + description: insecureSkipVerify defines how to disable target certificate validation. type: boolean keyFile: - description: Path to the client key file in the Prometheus container for the targets. + description: keyFile defines the path to the client key file in the Prometheus container for the targets. type: string keySecret: - description: Secret containing the client key file for the targets. + description: keySecret defines the Secret containing the client key file for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -5471,7 +5482,7 @@ spec: x-kubernetes-map-type: atomic maxVersion: description: |- - Maximum acceptable TLS version. + maxVersion defines the maximum acceptable TLS version. It requires Prometheus >= v2.41.0 or Thanos >= v0.31.0. enum: @@ -5482,7 +5493,7 @@ spec: type: string minVersion: description: |- - Minimum acceptable TLS version. + minVersion defines the minimum acceptable TLS version. It requires Prometheus >= v2.35.0 or Thanos >= v0.28.0. enum: @@ -5492,15 +5503,15 @@ spec: - TLS13 type: string serverName: - description: Used to verify the hostname for the targets. + description: serverName is used to verify the hostname for the targets. type: string type: object url: - description: The URL of the endpoint to send samples to. + description: url defines the URL of the endpoint to send samples to. minLength: 1 type: string writeRelabelConfigs: - description: The list of remote write relabel configurations. + description: writeRelabelConfigs defines the list of remote write relabel configurations. items: description: |- RelabelConfig allows dynamic rewriting of the label set for targets, alerts, @@ -5511,7 +5522,7 @@ spec: action: default: replace description: |- - Action to perform based on the regex matching. + action to perform based on the regex matching. `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. @@ -5543,39 +5554,39 @@ spec: type: string modulus: description: |- - Modulus to take of the hash of the source label values. + modulus to take of the hash of the source label values. Only applicable when the action is `HashMod`. format: int64 type: integer regex: - description: Regular expression against which the extracted value is matched. + description: regex defines the regular expression against which the extracted value is matched. type: string replacement: description: |- - Replacement value against which a Replace action is performed if the + replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available. type: string separator: - description: Separator is the string between concatenated SourceLabels. + description: separator defines the string between concatenated SourceLabels. type: string sourceLabels: description: |- - The source labels select values from existing labels. Their content is + sourceLabels defines the source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. items: description: |- - LabelName is a valid Prometheus label name which may only contain ASCII - letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + LabelName is a valid Prometheus label name. + For Prometheus 3.x, a label name is valid if it contains UTF-8 characters. + For Prometheus 2.x, a label name is only valid if it contains ASCII characters, letters, numbers, as well as underscores. type: string type: array targetLabel: description: |- - Label to which the resulting string is written in a replacement. + targetLabel defines the label to which the resulting string is written in a replacement. It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. @@ -5589,16 +5600,16 @@ spec: type: object type: array replicas: - description: Number of thanos ruler instances to deploy. + description: replicas defines the number of thanos ruler instances to deploy. format: int32 type: integer resendDelay: - description: Minimum amount of time to wait before resending an alert to Alertmanager. + description: resendDelay defines the minimum amount of time to wait before resending an alert to Alertmanager. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string resources: description: |- - Resources defines the resource requirements for single Pods. + resources defines the resource requirements for single Pods. If not provided, no requests/limits will be set properties: claims: @@ -5660,7 +5671,7 @@ spec: retention: default: 24h description: |- - Time duration ThanosRuler shall retain data for. Default is '24h', and + retention defines the time duration ThanosRuler shall retain data for. Default is '24h', and must match the regular expression `[0-9]+(ms|s|m|h|d|w|y)` (milliseconds seconds minutes hours days weeks years). @@ -5669,25 +5680,25 @@ spec: pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string routePrefix: - description: The route prefix ThanosRuler registers HTTP handlers for. This allows thanos UI to be served on a sub-path. + description: routePrefix defines the route prefix ThanosRuler registers HTTP handlers for. This allows thanos UI to be served on a sub-path. type: string ruleConcurrentEval: description: |- - How many rules can be evaluated concurrently. + ruleConcurrentEval defines how many rules can be evaluated concurrently. It requires Thanos >= v0.37.0. format: int32 minimum: 1 type: integer ruleGracePeriod: description: |- - Minimum duration between alert and restored "for" state. + ruleGracePeriod defines the minimum duration between alert and restored "for" state. This is maintained only for alerts with configured "for" time greater than grace period. It requires Thanos >= v0.30.0. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string ruleNamespaceSelector: description: |- - Namespaces to be selected for Rules discovery. If unspecified, only + ruleNamespaceSelector defines the namespaces to be selected for Rules discovery. If unspecified, only the same namespace as the ThanosRuler object is in is used. properties: matchExpressions: @@ -5733,19 +5744,19 @@ spec: x-kubernetes-map-type: atomic ruleOutageTolerance: description: |- - Max time to tolerate prometheus outage for restoring "for" state of alert. + ruleOutageTolerance defines the max time to tolerate prometheus outage for restoring "for" state of alert. It requires Thanos >= v0.30.0. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string ruleQueryOffset: description: |- - The default rule group's query offset duration to use. + ruleQueryOffset defines the default rule group's query offset duration to use. It requires Thanos >= v0.38.0. pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ type: string ruleSelector: description: |- - PrometheusRule objects to be selected for rule evaluation. An empty + ruleSelector defines the PrometheusRule objects to be selected for rule evaluation. An empty label selector matches all objects. A null label selector matches no objects. properties: @@ -5792,7 +5803,7 @@ spec: x-kubernetes-map-type: atomic securityContext: description: |- - SecurityContext holds pod-level security attributes and common container settings. + securityContext defines the pod-level security attributes and common container settings. This defaults to the default PodSecurityContext. properties: appArmorProfile: @@ -6021,12 +6032,12 @@ spec: type: object serviceAccountName: description: |- - ServiceAccountName is the name of the ServiceAccount to use to run the + serviceAccountName defines the name of the ServiceAccount to use to run the Thanos Ruler Pods. type: string serviceName: description: |- - The name of the service name used by the underlying StatefulSet(s) as the governing service. + serviceName defines the name of the service name used by the underlying StatefulSet(s) as the governing service. If defined, the Service must be created before the ThanosRuler resource in the same namespace and it must define a selector that matches the pod labels. If empty, the operator will create and manage a headless service named `thanos-ruler-operated` for ThanosRuler resources. When deploying multiple ThanosRuler resources in the same namespace, it is recommended to specify a different value for each. @@ -6034,14 +6045,14 @@ spec: minLength: 1 type: string storage: - description: Storage spec to specify how storage shall be used. + description: storage defines the specification of how storage shall be used. properties: disableMountSubPath: - description: 'Deprecated: subPath usage will be removed in a future release.' + description: 'disableMountSubPath deprecated: subPath usage will be removed in a future release.' type: boolean emptyDir: description: |- - EmptyDirVolumeSource to be used by the StatefulSet. + emptyDir to be used by the StatefulSet. If specified, it takes precedence over `ephemeral` and `volumeClaimTemplate`. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir properties: @@ -6068,7 +6079,7 @@ spec: type: object ephemeral: description: |- - EphemeralVolumeSource to be used by the StatefulSet. + ephemeral to be used by the StatefulSet. This is a beta field in k8s 1.21 and GA in 1.15. For lower versions, starting with k8s 1.19, it requires enabling the GenericEphemeralVolume feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes @@ -6304,7 +6315,7 @@ spec: type: object volumeClaimTemplate: description: |- - Defines the PVC spec to be used by the Prometheus StatefulSets. + volumeClaimTemplate defines the PVC spec to be used by the Prometheus StatefulSets. The easiest way to use a volume that cannot be automatically provisioned is to use a label selector alongside manually created PersistentVolumes. properties: @@ -6324,13 +6335,13 @@ spec: More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: - description: EmbeddedMetadata contains metadata relevant to an EmbeddedResource. + description: metadata defines EmbeddedMetadata contains metadata relevant to an EmbeddedResource. properties: annotations: additionalProperties: type: string description: |- - Annotations is an unstructured key value map stored with a resource that may be + annotations defines 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/ @@ -6339,14 +6350,14 @@ spec: additionalProperties: type: string description: |- - Map of string keys and values that can be used to organize and categorize + labels define the 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 name: description: |- - Name must be unique within a namespace. Is required when creating resources, although + 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. @@ -6356,7 +6367,7 @@ spec: type: object spec: description: |- - Defines the desired characteristics of a volume requested by a pod author. + spec defines the specification of the characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: @@ -6548,7 +6559,7 @@ spec: type: string type: object status: - description: 'Deprecated: this field is never set.' + description: 'status is deprecated: this field is never set.' properties: accessModes: description: |- @@ -6656,7 +6667,7 @@ spec: type: object terminationGracePeriodSeconds: description: |- - Optional duration in seconds the pod needs to terminate gracefully. + terminationGracePeriodSeconds defines the optional duration in seconds the pod needs to terminate gracefully. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down) which may lead to data corruption. @@ -6665,7 +6676,7 @@ spec: minimum: 0 type: integer tolerations: - description: If specified, the pod's tolerations. + description: tolerations defines when specified, the pod's tolerations. items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -6704,7 +6715,7 @@ spec: type: object type: array topologySpreadConstraints: - description: If specified, the pod's topology spread constraints. + description: topologySpreadConstraints defines the pod's topology spread constraints. items: description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. properties: @@ -6876,7 +6887,7 @@ spec: type: array tracingConfig: description: |- - Configures tracing. + tracingConfig defines the tracing configuration. The configuration format is defined at https://thanos.io/tip/thanos/tracing.md/#configuration @@ -6908,7 +6919,7 @@ spec: x-kubernetes-map-type: atomic tracingConfigFile: description: |- - Configures the path of the tracing configuration file. + tracingConfigFile defines the path of the tracing configuration file. The configuration format is defined at https://thanos.io/tip/thanos/tracing.md/#configuration @@ -6920,11 +6931,11 @@ spec: This field takes precedence over `tracingConfig`. type: string version: - description: Version of Thanos to be deployed. + description: version of Thanos to be deployed. type: string volumeMounts: description: |- - VolumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition. + volumeMounts defines how the configuration of additional VolumeMounts on the output StatefulSet definition. VolumeMounts specified will be appended to other VolumeMounts in the ruler container, that are generated as a result of StorageSpec objects. items: @@ -6990,7 +7001,7 @@ spec: type: array volumes: description: |- - Volumes allows configuration of additional volumes on the output StatefulSet definition. Volumes specified will + volumes defines how configuration of additional volumes on the output StatefulSet definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects. items: description: Volume represents a named volume in a pod that may be accessed by any container in the pod. @@ -8789,22 +8800,22 @@ spec: type: object type: array web: - description: Defines the configuration of the ThanosRuler web server. + description: web defines the configuration of the ThanosRuler web server. properties: httpConfig: - description: Defines HTTP parameters for web server. + description: httpConfig defines HTTP parameters for web server. properties: headers: - description: List of headers that can be added to HTTP responses. + description: headers defines a list of headers that can be added to HTTP responses. properties: contentSecurityPolicy: description: |- - Set the Content-Security-Policy header to HTTP responses. + contentSecurityPolicy defines the Content-Security-Policy header to HTTP responses. Unset if blank. type: string strictTransportSecurity: description: |- - Set the Strict-Transport-Security header to HTTP responses. + strictTransportSecurity defines the Strict-Transport-Security header to HTTP responses. Unset if blank. Please make sure that you use this with care as this header might force browsers to load Prometheus and the other applications hosted on the same @@ -8813,7 +8824,7 @@ spec: type: string xContentTypeOptions: description: |- - Set the X-Content-Type-Options header to HTTP responses. + xContentTypeOptions defines the X-Content-Type-Options header to HTTP responses. Unset if blank. Accepted value is nosniff. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options enum: @@ -8822,7 +8833,7 @@ spec: type: string xFrameOptions: description: |- - Set the X-Frame-Options header to HTTP responses. + xFrameOptions defines the X-Frame-Options header to HTTP responses. Unset if blank. Accepted values are deny and sameorigin. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options enum: @@ -8832,31 +8843,31 @@ spec: type: string xXSSProtection: description: |- - Set the X-XSS-Protection header to all responses. + xXSSProtection defines the X-XSS-Protection header to all responses. Unset if blank. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection type: string type: object http2: description: |- - Enable HTTP/2 support. Note that HTTP/2 is only supported with TLS. + http2 enable HTTP/2 support. Note that HTTP/2 is only supported with TLS. When TLSConfig is not configured, HTTP/2 will be disabled. Whenever the value of the field changes, a rolling update will be triggered. type: boolean type: object tlsConfig: - description: Defines the TLS parameters for HTTPS. + description: tlsConfig defines the TLS parameters for HTTPS. properties: cert: description: |- - Secret or ConfigMap containing the TLS certificate for the web server. + cert defines the Secret or ConfigMap containing the TLS certificate for the web server. Either `keySecret` or `keyFile` must be defined. It is mutually exclusive with `certFile`. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8878,7 +8889,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8902,7 +8913,7 @@ spec: type: object certFile: description: |- - Path to the TLS certificate file in the container for the web server. + certFile defines the path to the TLS certificate file in the container for the web server. Either `keySecret` or `keyFile` must be defined. @@ -8910,7 +8921,7 @@ spec: type: string cipherSuites: description: |- - List of supported cipher suites for TLS versions up to TLS 1.2. + cipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. If not defined, the Go default cipher suites are used. Available cipher suites are documented in the Go documentation: @@ -8920,13 +8931,13 @@ spec: type: array client_ca: description: |- - Secret or ConfigMap containing the CA certificate for client certificate + client_ca defines the Secret or ConfigMap containing the CA certificate for client certificate authentication to the server. It is mutually exclusive with `clientCAFile`. properties: configMap: - description: ConfigMap containing data to use for the targets. + description: configMap defines the ConfigMap containing data to use for the targets. properties: key: description: The key to select. @@ -8948,7 +8959,7 @@ spec: type: object x-kubernetes-map-type: atomic secret: - description: Secret containing data to use for the targets. + description: secret defines the Secret containing data to use for the targets. properties: key: description: The key of the secret to select from. Must be a valid secret key. @@ -8972,21 +8983,21 @@ spec: type: object clientAuthType: description: |- - The server policy for client TLS authentication. + clientAuthType defines the server policy for client TLS authentication. For more detail on clientAuth options: https://golang.org/pkg/crypto/tls/#ClientAuthType type: string clientCAFile: description: |- - Path to the CA certificate file for client certificate authentication to + clientCAFile defines the path to the CA certificate file for client certificate authentication to the server. It is mutually exclusive with `client_ca`. type: string curvePreferences: description: |- - Elliptic curves that will be used in an ECDHE handshake, in preference + curvePreferences defines elliptic curves that will be used in an ECDHE handshake, in preference order. Available curves are documented in the Go documentation: @@ -8996,7 +9007,7 @@ spec: type: array keyFile: description: |- - Path to the TLS private key file in the container for the web server. + keyFile defines the path to the TLS private key file in the container for the web server. If defined, either `cert` or `certFile` must be defined. @@ -9004,7 +9015,7 @@ spec: type: string keySecret: description: |- - Secret containing the TLS private key for the web server. + keySecret defines the secret containing the TLS private key for the web server. Either `cert` or `certFile` must be defined. @@ -9030,14 +9041,14 @@ spec: type: object x-kubernetes-map-type: atomic maxVersion: - description: Maximum TLS version that is acceptable. + description: maxVersion defines the Maximum TLS version that is acceptable. type: string minVersion: - description: Minimum TLS version that is acceptable. + description: minVersion defines the minimum TLS version that is acceptable. type: string preferServerCipherSuites: description: |- - Controls whether the server selects the client's most preferred cipher + preferServerCipherSuites defines whether the server selects the client's most preferred cipher suite, or the server's most preferred cipher suite. If true then the server's preference, as expressed in @@ -9048,18 +9059,18 @@ spec: type: object status: description: |- - Most recent observed status of the ThanosRuler cluster. Read-only. + status defines the most recent observed status of the ThanosRuler cluster. Read-only. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: availableReplicas: description: |- - Total number of available pods (ready for at least minReadySeconds) + availableReplicas defines the total number of available pods (ready for at least minReadySeconds) targeted by this ThanosRuler deployment. format: int32 type: integer conditions: - description: The current state of the ThanosRuler object. + description: conditions defines the current state of the ThanosRuler object. items: description: |- Condition represents the state of the resources associated with the @@ -9070,11 +9081,11 @@ spec: format: date-time type: string message: - description: Human-readable message indicating details for the condition's last transition. + description: message defines human-readable message indicating details for the condition's last transition. type: string observedGeneration: description: |- - ObservedGeneration represents the .metadata.generation that the + observedGeneration defines the .metadata.generation that the condition was set based upon. For instance, if `.metadata.generation` is currently 12, but the `.status.conditions[].observedGeneration` is 9, the condition is out of date with respect to the current state of the @@ -9082,14 +9093,14 @@ spec: format: int64 type: integer reason: - description: Reason for the condition's last transition. + description: reason for the condition's last transition. type: string status: - description: Status of the condition. + description: status of the condition. minLength: 1 type: string type: - description: Type of the condition being reported. + description: type of the condition being reported. minLength: 1 type: string required: @@ -9103,31 +9114,25 @@ spec: x-kubernetes-list-type: map paused: description: |- - Represents whether any actions on the underlying managed objects are + paused defines whether any actions on the underlying managed objects are being performed. Only delete actions will be performed. type: boolean replicas: description: |- - Total number of non-terminated pods targeted by this ThanosRuler deployment + replicas defines the total number of non-terminated pods targeted by this ThanosRuler deployment (their labels match the selector). format: int32 type: integer unavailableReplicas: - description: Total number of unavailable pods targeted by this ThanosRuler deployment. + description: unavailableReplicas defines the total number of unavailable pods targeted by this ThanosRuler deployment. format: int32 type: integer updatedReplicas: description: |- - Total number of non-terminated pods targeted by this ThanosRuler deployment + updatedReplicas defines the total number of non-terminated pods targeted by this ThanosRuler deployment that have the desired version spec. format: int32 type: integer - required: - - availableReplicas - - paused - - replicas - - unavailableReplicas - - updatedReplicas type: object required: - spec diff --git a/modules/observability/prometheus-operator/base/resources/kustomization.yaml b/modules/observability/prometheus-operator/base/resources/kustomization.yaml index d5d018c0..7ac2d1bb 100644 --- a/modules/observability/prometheus-operator/base/resources/kustomization.yaml +++ b/modules/observability/prometheus-operator/base/resources/kustomization.yaml @@ -7,22 +7,22 @@ labels: app.kubernetes.io/component: monitoring images: - name: quay.io/prometheus-operator/prometheus-operator - newTag: v0.85.0 - digest: sha256:890b3bb05cf4ed81541922c611de8805ec9f5c1428017738a8e64e9189350e80 + newTag: v0.87.1 + digest: sha256:6dbbbbeca6d7b94aa30723bfaa55262e41b9f8c15304c484611c696503840aac - name: quay.io/prometheus-operator/prometheus-config-reloader - newTag: v0.85.0 - digest: sha256:ebb560bcb6bd3ab728a7ab61d77d22a001cc0c7a67f0531e7f92e20ce004de38 + newTag: v0.87.1 + digest: sha256:257ce3543e8f45c059dab488bcf897d8cc598cabd78afba12f41d6dbe36e22d2 - name: quay.io/prometheus-operator/admission-webhook - newTag: v0.85.0 - digest: sha256:5974ff91351c03583e5c966afcd19cee65fde05cf7b122650a4018e56d4f971c + newTag: v0.87.1 + digest: sha256:80a44a139154e32236f1e272de1981e9fb379b6ab638060f18ada00df092972d - name: registry.k8s.io/ingress-nginx/kube-webhook-certgen - newTag: v1.6.2 - digest: sha256:050a34002d5bb4966849c880c56c91f5320372564245733b33d4b3461b4dbd24 + newTag: v1.6.5 + digest: sha256:03a00eb0e255e8a25fa49926c24cde0f7e12e8d072c445cdf5136ec78b546285 - name: quay.io/prometheus/node-exporter - newTag: v1.9.1 - digest: sha256:d00a542e409ee618a4edc67da14dd48c5da66726bbd5537ab2af9c1dfc442c8a + newTag: v1.10.2 + digest: sha256:337ff1d356b68d39cef853e8c6345de11ce7556bb34cda8bd205bcf2ed30b565 - name: registry.k8s.io/kube-state-metrics/kube-state-metrics - newTag: v2.15.0 + newTag: v2.17.0 digest: sha256:2bbc915567334b13632bf62c0a97084aff72a36e13c4dabd5f2f11c898c5bacd resources: - configs diff --git a/modules/observability/prometheus-operator/base/resources/workloads/prometheus-operator/rbac/clusterrole-core.yaml b/modules/observability/prometheus-operator/base/resources/workloads/prometheus-operator/rbac/clusterrole-core.yaml index 525196d3..aa3d573a 100644 --- a/modules/observability/prometheus-operator/base/resources/workloads/prometheus-operator/rbac/clusterrole-core.yaml +++ b/modules/observability/prometheus-operator/base/resources/workloads/prometheus-operator/rbac/clusterrole-core.yaml @@ -20,10 +20,15 @@ rules: - thanosrulers/finalizers - thanosrulers/status - scrapeconfigs + - scrapeconfigs/status - servicemonitors + - servicemonitors/status - podmonitors + - podmonitors/status - probes + - probes/status - prometheusrules + - prometheusrules/status verbs: - '*' - apiGroups: @@ -72,7 +77,7 @@ rules: - list - watch - apiGroups: - - "" + - events.k8s.io resources: - events verbs: @@ -101,3 +106,13 @@ rules: - create - update - delete +- apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - get + - create + - list + - update + - delete diff --git a/modules/observability/prometheus-operator/base/resources/workloads/prometheus-operator/workloads/deployment.yaml b/modules/observability/prometheus-operator/base/resources/workloads/prometheus-operator/workloads/deployment.yaml index ebc13621..cbb09a55 100644 --- a/modules/observability/prometheus-operator/base/resources/workloads/prometheus-operator/workloads/deployment.yaml +++ b/modules/observability/prometheus-operator/base/resources/workloads/prometheus-operator/workloads/deployment.yaml @@ -36,9 +36,11 @@ spec: - --config-reloader-cpu-limit=$(CONFIG_RELOADER_CPU_LIMIT) - --config-reloader-memory-request=$(CONFIG_RELOADER_MEMORY_REQUEST) - --config-reloader-memory-limit=$(CONFIG_RELOADER_MEMORY_LIMIT) + - --watch-referenced-objects-in-all-namespaces=true + - --disable-unmanaged-prometheus-configuration=true - --kubelet-service=kube-system/kubelet - --kubelet-endpoints=true - - --kubelet-endpointslice=false + - --kubelet-endpointslice=true - --prometheus-instance-namespaces=$(POD_NAMESPACE) - --alertmanager-instance-namespaces=$(POD_NAMESPACE) - --thanos-ruler-instance-namespaces=$(POD_NAMESPACE) From 99d1ae321beb5ca167eac56c3f66e15cfa0424b3 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 15:21:46 +0100 Subject: [PATCH 12/19] feat: update monitoring-stack versions in prometheus-operator addon --- addons/prometheus-operator/monitoring-stack/CHANGELOG.md | 5 +++++ addons/prometheus-operator/monitoring-stack/README.md | 1 + .../monitoring-stack/kustomization.yaml | 8 ++++---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/addons/prometheus-operator/monitoring-stack/CHANGELOG.md b/addons/prometheus-operator/monitoring-stack/CHANGELOG.md index 446f589f..4f1994ab 100644 --- a/addons/prometheus-operator/monitoring-stack/CHANGELOG.md +++ b/addons/prometheus-operator/monitoring-stack/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## v2.7.0 + +- update prometheus to v3.8.1 +- update alertmanager to v0.30.0 + ## v2.6.0 ### Changed diff --git a/addons/prometheus-operator/monitoring-stack/README.md b/addons/prometheus-operator/monitoring-stack/README.md index 126ef8c5..cb66fa7a 100644 --- a/addons/prometheus-operator/monitoring-stack/README.md +++ b/addons/prometheus-operator/monitoring-stack/README.md @@ -51,6 +51,7 @@ This module use the following user, gid and fsGroup: | 2.4.x | 1.31.x | | 2.5.x | 1.32.x | | 2.6.x | 1.33.x | +| 2.7.x | 1.34.x | ## User customization diff --git a/addons/prometheus-operator/monitoring-stack/kustomization.yaml b/addons/prometheus-operator/monitoring-stack/kustomization.yaml index ad842790..b6570f1d 100644 --- a/addons/prometheus-operator/monitoring-stack/kustomization.yaml +++ b/addons/prometheus-operator/monitoring-stack/kustomization.yaml @@ -2,11 +2,11 @@ apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component images: - name: quay.io/prometheus/prometheus - newTag: v3.5.0 - digest: sha256:63805ebb8d2b3920190daf1cb14a60871b16fd38bed42b857a3182bc621f4996 + newTag: v3.8.1 + digest: sha256:2b6f734e372c1b4717008f7d0a0152316aedd4d13ae17ef1e3268dbfaf68041b - name: quay.io/prometheus/alertmanager - newTag: v0.28.1 - digest: sha256:27c475db5fb156cab31d5c18a4251ac7ed567746a2483ff264516437a39b15ba + newTag: v0.30.0 + digest: sha256:abb750ac7b63116761c16dd481ae92496fbe04721686c0920f0fa4d0728cd4a6 resources: - resources patches: From c619843e2c83344a3d8905dd13cd55c172f10531 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 15:31:39 +0100 Subject: [PATCH 13/19] feat: update kube-webhook-certgen version in scheduling module --- modules/scheduling/kube-green/CHANGELOG.md | 6 +----- modules/scheduling/kube-green/README.md | 2 +- .../scheduling/kube-green/base/resources/kustomization.yaml | 4 ++-- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/modules/scheduling/kube-green/CHANGELOG.md b/modules/scheduling/kube-green/CHANGELOG.md index 43373942..bf6fcefd 100644 --- a/modules/scheduling/kube-green/CHANGELOG.md +++ b/modules/scheduling/kube-green/CHANGELOG.md @@ -7,8 +7,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v1.33.0 - -### Changed - -- update kube-green to 0.7.1 +- update kube-webhook-certgen to 1.6.5 diff --git a/modules/scheduling/kube-green/README.md b/modules/scheduling/kube-green/README.md index f92bb9f7..7e1d7fe5 100644 --- a/modules/scheduling/kube-green/README.md +++ b/modules/scheduling/kube-green/README.md @@ -38,7 +38,7 @@ This module use the following user, gid and fsGroup: | Module Version | Tool Version | |----------------|----------------| -| 1.33.x | 0.7.1 | +| 1.34.x | 0.7.1 | ## User customization diff --git a/modules/scheduling/kube-green/base/resources/kustomization.yaml b/modules/scheduling/kube-green/base/resources/kustomization.yaml index 5ab4e364..ca4ff2cb 100644 --- a/modules/scheduling/kube-green/base/resources/kustomization.yaml +++ b/modules/scheduling/kube-green/base/resources/kustomization.yaml @@ -10,8 +10,8 @@ images: newTag: 0.7.1 digest: sha256:2dc0f0a6034cfb32bd442ad5d28cc7ead80fb16e5b0387cac9f9dc8509bfcc09 - name: registry.k8s.io/ingress-nginx/kube-webhook-certgen - newTag: v1.6.2 - digest: sha256:050a34002d5bb4966849c880c56c91f5320372564245733b33d4b3461b4dbd24 + newTag: v1.6.5 + digest: sha256:03a00eb0e255e8a25fa49926c24cde0f7e12e8d072c445cdf5136ec78b546285 resources: - configs - rbac From 95c5c44ee623c065b8dd28042e2e08ca7edec98c Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 15:52:46 +0100 Subject: [PATCH 14/19] feat: update cert-manager version in security module --- modules/security/cert-manager/CHANGELOG.md | 10 +- modules/security/cert-manager/README.md | 3 +- .../certificaterequests.cert-manager.io.yaml | 91 +- .../crds/certificates.cert-manager.io.yaml | 212 +-- .../crds/challenges.acme.cert-manager.io.yaml | 1102 +++++++------- .../crds/clusterissuers.cert-manager.io.yaml | 1274 +++++++++-------- .../base/crds/issuers.cert-manager.io.yaml | 1274 +++++++++-------- .../crds/orders.acme.cert-manager.io.yaml | 92 +- .../base/resources/kustomization.yaml | 16 +- 9 files changed, 2171 insertions(+), 1903 deletions(-) diff --git a/modules/security/cert-manager/CHANGELOG.md b/modules/security/cert-manager/CHANGELOG.md index b11f28c2..ec8edee4 100644 --- a/modules/security/cert-manager/CHANGELOG.md +++ b/modules/security/cert-manager/CHANGELOG.md @@ -7,12 +7,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v1.33.1 - -### Changed - -- update cert-manager to v1.18.3 - -## v1.33.0 - -- no changes +- update cert-manager to v1.19.2 diff --git a/modules/security/cert-manager/README.md b/modules/security/cert-manager/README.md index 911b5050..a25d9e98 100644 --- a/modules/security/cert-manager/README.md +++ b/modules/security/cert-manager/README.md @@ -52,8 +52,7 @@ This module use the following user, gid and fsGroup: | Module Version | Tool Version | |----------------|----------------| -| 1.33.0 | 1.18.2 | -| 1.33.1 | 1.18.3 | +| 1.34.x | 1.19.2 | ## User customization diff --git a/modules/security/cert-manager/base/crds/certificaterequests.cert-manager.io.yaml b/modules/security/cert-manager/base/crds/certificaterequests.cert-manager.io.yaml index 20045a02..13af1135 100644 --- a/modules/security/cert-manager/base/crds/certificaterequests.cert-manager.io.yaml +++ b/modules/security/cert-manager/base/crds/certificaterequests.cert-manager.io.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.18.3/cert-manager.crds.yaml +# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.19.2/cert-manager.crds.yaml --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -21,6 +21,8 @@ metadata: spec: group: cert-manager.io names: + categories: + - cert-manager kind: CertificateRequest listKind: CertificateRequestList plural: certificaterequests @@ -28,21 +30,16 @@ spec: - cr - crs singular: certificaterequest - categories: - - cert-manager scope: Namespaced versions: - - name: v1 - subresources: - status: {} - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=="Approved")].status + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type == "Approved")].status name: Approved type: string - - jsonPath: .status.conditions[?(@.type=="Denied")].status + - jsonPath: .status.conditions[?(@.type == "Denied")].status name: Denied type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].status + - jsonPath: .status.conditions[?(@.type == "Ready")].status name: Ready type: string - jsonPath: .spec.issuerRef.name @@ -51,14 +48,15 @@ spec: - jsonPath: .spec.username name: Requester type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message + - jsonPath: .status.conditions[?(@.type == "Ready")].message name: Status priority: 1 type: string - - jsonPath: .metadata.creationTimestamp - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + jsonPath: .metadata.creationTimestamp name: Age type: date + name: v1 schema: openAPIV3Schema: description: |- @@ -71,7 +69,6 @@ spec: A CertificateRequest is a one-shot resource, meaning it represents a single point in time request for a certificate and cannot be re-used. - type: object properties: apiVersion: description: |- @@ -94,10 +91,6 @@ spec: description: |- Specification of the desired state of the CertificateRequest resource. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status - type: object - required: - - issuerRef - - request properties: duration: description: |- @@ -106,21 +99,21 @@ spec: requested attribute. type: string extra: + additionalProperties: + items: + type: string + type: array description: |- Extra contains extra attributes of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable. type: object - additionalProperties: - type: array - items: - type: string groups: description: |- Groups contains group membership of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable. - type: array items: type: string + type: array x-kubernetes-list-type: atomic isCA: description: |- @@ -141,19 +134,23 @@ spec: from any namespace. The `name` field of the reference must always be specified. - type: object - required: - - name properties: group: - description: Group of the resource being referred to. + description: |- + Group of the issuer being referred to. + Defaults to 'cert-manager.io'. type: string kind: - description: Kind of the resource being referred to. + description: |- + Kind of the issuer being referred to. + Defaults to 'Issuer'. type: string name: - description: Name of the resource being referred to. + description: Name of the issuer being referred to. type: string + required: + - name + type: object request: description: |- The PEM-encoded X.509 certificate signing request to be submitted to the @@ -166,8 +163,8 @@ spec: If the CSR has a ExtKeyUsage extension, its extended key usages must match the extended key usages in the `usages` field of this CertificateRequest. - type: string format: byte + type: string uid: description: |- UID contains the uid of the user that created the CertificateRequest. @@ -182,7 +179,6 @@ spec: as specified here without any additional values. If unset, defaults to `digital signature` and `key encipherment`. - type: array items: description: |- KeyUsage specifies valid usage contexts for keys. @@ -214,7 +210,6 @@ spec: "ocsp signing", "microsoft sgc", "netscape sgc" - type: string enum: - signing - digital signature @@ -239,18 +234,24 @@ spec: - ocsp signing - microsoft sgc - netscape sgc + type: string + type: array + x-kubernetes-list-type: atomic username: description: |- Username contains the name of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable. type: string + required: + - issuerRef + - request + type: object status: description: |- Status of the CertificateRequest. This is set and managed automatically. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status - type: object properties: ca: description: |- @@ -258,8 +259,8 @@ spec: (Certificate Authority). This is set on a best-effort basis by different issuers. If not set, the CA is assumed to be unknown/not available. - type: string format: byte + type: string certificate: description: |- The PEM encoded X.509 certificate resulting from the certificate @@ -267,26 +268,21 @@ spec: If not set, the CertificateRequest has either not been completed or has failed. More information on failure can be found by checking the `conditions` field. - type: string format: byte + type: string conditions: description: |- List of status conditions to indicate the status of a CertificateRequest. Known condition types are `Ready`, `InvalidRequest`, `Approved` and `Denied`. - type: array items: description: CertificateRequestCondition contains condition information for a CertificateRequest. - type: object - required: - - status - - type properties: lastTransitionTime: description: |- LastTransitionTime is the timestamp corresponding to the last status change of this condition. - type: string format: date-time + type: string message: description: |- Message is a human readable description of the details of the last @@ -299,16 +295,21 @@ spec: type: string status: description: Status of the condition, one of (`True`, `False`, `Unknown`). - type: string enum: - "True" - "False" - Unknown + type: string type: description: |- Type of the condition, known values are (`Ready`, `InvalidRequest`, `Approved`, `Denied`). type: string + required: + - status + - type + type: object + type: array x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map @@ -316,7 +317,11 @@ spec: description: |- FailureTime stores the time that this CertificateRequest failed. This is used to influence garbage collection and back-off. - type: string format: date-time + type: string + type: object + type: object served: true storage: true + subresources: + status: {} diff --git a/modules/security/cert-manager/base/crds/certificates.cert-manager.io.yaml b/modules/security/cert-manager/base/crds/certificates.cert-manager.io.yaml index a7abefb0..5957f9d7 100644 --- a/modules/security/cert-manager/base/crds/certificates.cert-manager.io.yaml +++ b/modules/security/cert-manager/base/crds/certificates.cert-manager.io.yaml @@ -12,15 +12,17 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.18.3/cert-manager.crds.yaml +# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.19.2/cert-manager.crds.yaml --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: certificates.cert-manager.io + name: "certificates.cert-manager.io" spec: group: cert-manager.io names: + categories: + - cert-manager kind: Certificate listKind: CertificateList plural: certificates @@ -28,15 +30,10 @@ spec: - cert - certs singular: certificate - categories: - - cert-manager scope: Namespaced versions: - - name: v1 - subresources: - status: {} - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=="Ready")].status + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type == "Ready")].status name: Ready type: string - jsonPath: .spec.secretName @@ -46,14 +43,15 @@ spec: name: Issuer priority: 1 type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message + - jsonPath: .status.conditions[?(@.type == "Ready")].message name: Status priority: 1 type: string - - jsonPath: .metadata.creationTimestamp - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + jsonPath: .metadata.creationTimestamp name: Age type: date + name: v1 schema: openAPIV3Schema: description: |- @@ -61,7 +59,6 @@ spec: X.509 certificate is stored in the Kubernetes Secret resource named in `spec.secretName`. The stored certificate will be renewed before it expires (as configured by `spec.renewBefore`). - type: object properties: apiVersion: description: |- @@ -84,33 +81,30 @@ spec: description: |- Specification of the desired state of the Certificate resource. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status - type: object - required: - - issuerRef - - secretName properties: additionalOutputFormats: description: |- Defines extra output formats of the private key and signed certificate chain to be written to this Certificate's target Secret. - type: array items: description: |- CertificateAdditionalOutputFormat defines an additional output format of a Certificate resource. These contain supplementary data formats of the signed certificate chain and paired private key. - type: object - required: - - type properties: type: description: |- Type is the name of the format type that should be written to the Certificate's target Secret. - type: string enum: - DER - CombinedPEM + type: string + required: + - type + type: object + type: array + x-kubernetes-list-type: atomic commonName: description: |- Requested common name X509 certificate subject attribute. @@ -123,9 +117,10 @@ spec: type: string dnsNames: description: Requested DNS subject alternative names. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic duration: description: |- Requested 'duration' (i.e. lifetime) of the Certificate. Note that the @@ -138,9 +133,10 @@ spec: type: string emailAddresses: description: Requested email subject alternative names. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic encodeUsagesInRequest: description: |- Whether the KeyUsage and ExtKeyUsage extensions should be set in the encoded CSR. @@ -150,9 +146,10 @@ spec: type: boolean ipAddresses: description: Requested IP address subject alternative names. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic isCA: description: |- Requested basic constraints isCA value. @@ -171,30 +168,30 @@ spec: from any namespace. The `name` field of the reference must always be specified. - type: object - required: - - name properties: group: - description: Group of the resource being referred to. + description: |- + Group of the issuer being referred to. + Defaults to 'cert-manager.io'. type: string kind: - description: Kind of the resource being referred to. + description: |- + Kind of the issuer being referred to. + Defaults to 'Issuer'. type: string name: - description: Name of the resource being referred to. + description: Name of the issuer being referred to. type: string + required: + - name + type: object keystores: description: Additional keystore output formats to be stored in the Certificate's Secret. - type: object properties: jks: description: |- JKS configures options for storing a JKS keystore in the `spec.secretName` Secret resource. - type: object - required: - - create properties: alias: description: |- @@ -225,9 +222,6 @@ spec: containing the password used to encrypt the JKS keystore. Mutually exclusive with password. One of password or passwordSecretRef must provide a password with a non-zero length. - type: object - required: - - name properties: key: description: |- @@ -240,13 +234,16 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - create + type: object pkcs12: description: |- PKCS12 configures options for storing a PKCS12 keystore in the `spec.secretName` Secret resource. - type: object - required: - - create properties: create: description: |- @@ -272,9 +269,6 @@ spec: containing the password used to encrypt the PKCS#12 keystore. Mutually exclusive with password. One of password or passwordSecretRef must provide a password with a non-zero length. - type: object - required: - - name properties: key: description: |- @@ -287,6 +281,9 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object profile: description: |- Profile specifies the key and certificate encryption algorithms and the HMAC algorithm @@ -298,11 +295,15 @@ spec: `Modern2023`: Secure algorithm. Use this option in case you have to always use secure algorithms (e.g., because of company policy). Please note that the security of the algorithm is not that important in reality, because the unencrypted certificate and private key are also stored in the Secret. - type: string enum: - LegacyRC2 - LegacyDES - Modern2023 + type: string + required: + - create + type: object + type: object literalSubject: description: |- Requested X.509 certificate subject, represented using the LDAP "String @@ -324,7 +325,6 @@ spec: This is an Alpha Feature and is only enabled with the `--feature-gates=NameConstraints=true` option set on both the controller and webhook components. - type: object properties: critical: description: if true then the name constraints are marked critical. @@ -334,65 +334,72 @@ spec: Excluded contains the constraints which must be disallowed. Any name matching a restriction in the excluded field is invalid regardless of information appearing in the permitted - type: object properties: dnsDomains: description: DNSDomains is a list of DNS domains that are permitted or excluded. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic emailAddresses: description: EmailAddresses is a list of Email Addresses that are permitted or excluded. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic ipRanges: description: |- IPRanges is a list of IP Ranges that are permitted or excluded. This should be a valid CIDR notation. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic uriDomains: description: URIDomains is a list of URI domains that are permitted or excluded. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic + type: object permitted: description: Permitted contains the constraints in which the names must be located. - type: object properties: dnsDomains: description: DNSDomains is a list of DNS domains that are permitted or excluded. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic emailAddresses: description: EmailAddresses is a list of Email Addresses that are permitted or excluded. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic ipRanges: description: |- IPRanges is a list of IP Ranges that are permitted or excluded. This should be a valid CIDR notation. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic uriDomains: description: URIDomains is a list of URI domains that are permitted or excluded. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic + type: object + type: object otherNames: description: |- `otherNames` is an escape hatch for SAN that allows any type. We currently restrict the support to string like otherNames, cf RFC 5280 p 37 Any UTF8 String valued otherName can be passed with by setting the keys oid: x.x.x.x and UTF8Value: somevalue for `otherName`. Most commonly this would be UPN set with oid: 1.3.6.1.4.1.311.20.2.3 You should ensure that any OID passed is valid for the UTF8String type as we do not explicitly validate this. - type: array items: - type: object properties: oid: description: |- @@ -405,11 +412,13 @@ spec: utf8Value is the string value of the otherName SAN. The utf8Value accepts any valid UTF8 string to set as value for the otherName SAN. type: string + type: object + type: array + x-kubernetes-list-type: atomic privateKey: description: |- Private key options. These include the key algorithm and size, the used encoding and the rotation policy. - type: object properties: algorithm: description: |- @@ -421,11 +430,11 @@ spec: key size of 2048 will be used for `RSA` key algorithm and key size of 256 will be used for `ECDSA` key algorithm. key size is ignored when using the `Ed25519` key algorithm. - type: string enum: - RSA - ECDSA - Ed25519 + type: string encoding: description: |- The private key cryptography standards (PKCS) encoding for this @@ -434,10 +443,10 @@ spec: If provided, allowed values are `PKCS1` and `PKCS8` standing for PKCS#1 and PKCS#8, respectively. Defaults to `PKCS1` if not specified. - type: string enum: - PKCS1 - PKCS8 + type: string rotationPolicy: description: |- RotationPolicy controls how private keys should be regenerated when a @@ -454,10 +463,10 @@ spec: The new default can be disabled by setting the `--feature-gates=DefaultPrivateKeyRotationPolicyAlways=false` option on the controller component. - type: string enum: - Never - Always + type: string size: description: |- Size is the key bit size of the corresponding private key for this certificate. @@ -469,6 +478,7 @@ spec: If `algorithm` is set to `Ed25519`, Size is ignored. No other values are allowed. type: integer + type: object renewBefore: description: |- How long before the currently issued certificate's expiry cert-manager should @@ -502,8 +512,8 @@ spec: `renewBefore` derived from the `renewBeforePercentage` and `duration` fields is 5 minutes. Cannot be set if the `renewBefore` field is set. - type: integer format: int32 + type: integer revisionHistoryLimit: description: |- The maximum number of CertificateRequest revisions that are maintained in @@ -514,8 +524,8 @@ spec: If set, revisionHistoryLimit must be a value of `1` or greater. Default value is `1`. - type: integer format: int32 + type: integer secretName: description: |- Name of the Secret resource that will be automatically created and @@ -530,25 +540,24 @@ spec: SecretTemplate when added or removed. SecretTemplate annotations are added in conjunction with, and cannot overwrite, the base set of annotations cert-manager sets on the Certificate's Secret. - type: object properties: annotations: + additionalProperties: + type: string description: Annotations is a key value map to be copied to the target Kubernetes Secret. type: object + labels: additionalProperties: type: string - labels: description: Labels is a key value map to be copied to the target Kubernetes Secret. type: object - additionalProperties: - type: string + type: object signatureAlgorithm: description: |- Signature algorithm to use. Allowed values for RSA keys: SHA256WithRSA, SHA384WithRSA, SHA512WithRSA. Allowed values for ECDSA keys: ECDSAWithSHA256, ECDSAWithSHA384, ECDSAWithSHA512. Allowed values for Ed25519 keys: PureEd25519. - type: string enum: - SHA256WithRSA - SHA384WithRSA @@ -557,6 +566,7 @@ spec: - ECDSAWithSHA384 - ECDSAWithSHA512 - PureEd25519 + type: string subject: description: |- Requested set of X509 certificate subject attributes. @@ -564,51 +574,59 @@ spec: The common name attribute is specified separately in the `commonName` field. Cannot be set if the `literalSubject` field is set. - type: object properties: countries: description: Countries to be used on the Certificate. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic localities: description: Cities to be used on the Certificate. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic organizationalUnits: description: Organizational Units to be used on the Certificate. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic organizations: description: Organizations to be used on the Certificate. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic postalCodes: description: Postal codes to be used on the Certificate. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic provinces: description: State/Provinces to be used on the Certificate. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic serialNumber: description: Serial number to be used on the Certificate. type: string streetAddresses: description: Street addresses to be used on the Certificate. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic + type: object uris: description: Requested URI subject alternative names. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic usages: description: |- Requested key usages and extended key usages. @@ -617,7 +635,6 @@ spec: will additionally be encoded in the `request` field which contains the CSR blob. If unset, defaults to `digital signature` and `key encipherment`. - type: array items: description: |- KeyUsage specifies valid usage contexts for keys. @@ -649,7 +666,6 @@ spec: "ocsp signing", "microsoft sgc", "netscape sgc" - type: string enum: - signing - digital signature @@ -674,32 +690,33 @@ spec: - ocsp signing - microsoft sgc - netscape sgc + type: string + type: array + x-kubernetes-list-type: atomic + required: + - issuerRef + - secretName + type: object status: description: |- Status of the Certificate. This is set and managed automatically. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status - type: object properties: conditions: description: |- List of status conditions to indicate the status of certificates. Known condition types are `Ready` and `Issuing`. - type: array items: description: CertificateCondition contains condition information for a Certificate. - type: object - required: - - status - - type properties: lastTransitionTime: description: |- LastTransitionTime is the timestamp corresponding to the last status change of this condition. - type: string format: date-time + type: string message: description: |- Message is a human readable description of the details of the last @@ -712,8 +729,8 @@ spec: For instance, if .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date with respect to the current state of the Certificate. - type: integer format: int64 + type: integer reason: description: |- Reason is a brief machine readable explanation for the condition's last @@ -721,14 +738,19 @@ spec: type: string status: description: Status of the condition, one of (`True`, `False`, `Unknown`). - type: string enum: - "True" - "False" - Unknown + type: string type: description: Type of the condition, known values are (`Ready`, `Issuing`). type: string + required: + - status + - type + type: object + type: array x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map @@ -747,8 +769,8 @@ spec: issuance has failed, the delay till the next issuance will be calculated using formula time.Hour * 2 ^ (failedIssuanceAttempts - 1). If the latest issuance has succeeded this field will be unset. - type: string format: date-time + type: string nextPrivateKeySecretName: description: |- The name of the Secret resource containing the private key to be used @@ -762,21 +784,21 @@ spec: description: |- The expiration time of the certificate stored in the secret named by this resource in `spec.secretName`. - type: string format: date-time + type: string notBefore: description: |- The time after which the certificate stored in the secret named by this resource in `spec.secretName` is valid. - type: string format: date-time + type: string renewalTime: description: |- RenewalTime is the time at which the certificate will be next renewed. If not set, no upcoming renewal is scheduled. - type: string format: date-time + type: string revision: description: |- The current 'revision' of the certificate as issued. @@ -794,5 +816,9 @@ spec: checking if the revision value in the annotation is greater than this field. type: integer + type: object + type: object served: true storage: true + subresources: + status: {} diff --git a/modules/security/cert-manager/base/crds/challenges.acme.cert-manager.io.yaml b/modules/security/cert-manager/base/crds/challenges.acme.cert-manager.io.yaml index e9a08931..24a71c23 100644 --- a/modules/security/cert-manager/base/crds/challenges.acme.cert-manager.io.yaml +++ b/modules/security/cert-manager/base/crds/challenges.acme.cert-manager.io.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.18.3/cert-manager.crds.yaml +# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.19.2/cert-manager.crds.yaml --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -21,13 +21,13 @@ metadata: spec: group: acme.cert-manager.io names: + categories: + - cert-manager + - cert-manager-acme kind: Challenge listKind: ChallengeList plural: challenges singular: challenge - categories: - - cert-manager - - cert-manager-acme scope: Namespaced versions: - additionalPrinterColumns: @@ -49,10 +49,6 @@ spec: schema: openAPIV3Schema: description: Challenge is a type to represent a Challenge request with an ACME server - type: object - required: - - metadata - - spec properties: apiVersion: description: |- @@ -72,16 +68,6 @@ spec: metadata: type: object spec: - type: object - required: - - authorizationURL - - dnsName - - issuerRef - - key - - solver - - token - - type - - url properties: authorizationURL: description: |- @@ -101,19 +87,23 @@ spec: If the Issuer does not exist, processing will be retried. If the Issuer is not an 'ACME' Issuer, an error will be returned and the Challenge will be marked as failed. - type: object - required: - - name properties: group: - description: Group of the resource being referred to. + description: |- + Group of the issuer being referred to. + Defaults to 'cert-manager.io'. type: string kind: - description: Kind of the resource being referred to. + description: |- + Kind of the issuer being referred to. + Defaults to 'Issuer'. type: string name: - description: Name of the resource being referred to. + description: Name of the issuer being referred to. type: string + required: + - name + type: object key: description: |- The ACME challenge key for this challenge @@ -128,30 +118,21 @@ spec: description: |- Contains the domain solving configuration that should be used to solve this challenge resource. - type: object properties: dns01: description: |- Configures cert-manager to attempt to complete authorizations by performing the DNS01 challenge flow. - type: object properties: acmeDNS: description: |- Use the 'ACME DNS' (https://github.com/joohoi/acme-dns) API to manage DNS01 challenge records. - type: object - required: - - accountSecretRef - - host properties: accountSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -164,24 +145,22 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object host: type: string + required: + - accountSecretRef + - host + type: object akamai: description: Use the Akamai DNS zone management API to manage DNS01 challenge records. - type: object - required: - - accessTokenSecretRef - - clientSecretSecretRef - - clientTokenSecretRef - - serviceConsumerDomain properties: accessTokenSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -194,13 +173,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object clientSecretSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -213,13 +192,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object clientTokenSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -232,14 +211,19 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object serviceConsumerDomain: type: string + required: + - accessTokenSecretRef + - clientSecretSecretRef + - clientTokenSecretRef + - serviceConsumerDomain + type: object azureDNS: description: Use the Microsoft Azure DNS API to manage DNS01 challenge records. - type: object - required: - - resourceGroupName - - subscriptionID properties: clientID: description: |- @@ -252,9 +236,6 @@ spec: Auth: Azure Service Principal: A reference to a Secret containing the password associated with the Service Principal. If set, ClientID and TenantID must also be set. - type: object - required: - - name properties: key: description: |- @@ -267,14 +248,17 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object environment: description: name of the Azure environment (default AzurePublicCloud) - type: string enum: - AzurePublicCloud - AzureChinaCloud - AzureGermanCloud - AzureUSGovernmentCloud + type: string hostedZoneName: description: name of the DNS zone that should be used type: string @@ -283,7 +267,6 @@ spec: Auth: Azure Workload Identity or Azure Managed Service Identity: Settings to enable Azure Workload Identity or Azure Managed Service Identity If set, ClientID, ClientSecret and TenantID must not be set. - type: object properties: clientID: description: client ID of the managed identity, cannot be used at the same time as resourceID @@ -296,6 +279,7 @@ spec: tenantID: description: tenant ID of the managed identity, cannot be used at the same time as resourceID type: string + type: object resourceGroupName: description: resource group the DNS zone is located in type: string @@ -308,11 +292,12 @@ spec: The TenantID of the Azure Service Principal used to authenticate with Azure DNS. If set, ClientID and ClientSecret must also be set. type: string + required: + - resourceGroupName + - subscriptionID + type: object cloudDNS: description: Use the Google Cloud DNS API to manage DNS01 challenge records. - type: object - required: - - project properties: hostedZoneName: description: |- @@ -326,9 +311,6 @@ spec: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -341,18 +323,20 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - project + type: object cloudflare: description: Use the Cloudflare API to manage DNS01 challenge records. - type: object properties: apiKeySecretRef: description: |- API key to use to authenticate with Cloudflare. Note: using an API token to authenticate is now the recommended method as it allows greater control of permissions. - type: object - required: - - name properties: key: description: |- @@ -365,11 +349,11 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string - apiTokenSecretRef: - description: API token used to authenticate with Cloudflare. - type: object required: - name + type: object + apiTokenSecretRef: + description: API token used to authenticate with Cloudflare. properties: key: description: |- @@ -382,30 +366,28 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object email: description: Email of the account, only required when using API key based authentication. type: string + type: object cnameStrategy: description: |- CNAMEStrategy configures how the DNS01 provider should handle CNAME records when found in DNS zones. - type: string enum: - None - Follow + type: string digitalocean: description: Use the DigitalOcean DNS API to manage DNS01 challenge records. - type: object - required: - - tokenSecretRef properties: tokenSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -418,13 +400,16 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - tokenSecretRef + type: object rfc2136: description: |- Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/) to manage DNS01 challenge records. - type: object - required: - - nameserver properties: nameserver: description: |- @@ -433,6 +418,12 @@ spec: enclosed in square brackets (e.g [2001:db8::1]) ; port is optional. This field is required. type: string + protocol: + description: Protocol to use for dynamic DNS update queries. Valid values are (case-sensitive) ``TCP`` and ``UDP``; ``UDP`` (default). + enum: + - TCP + - UDP + type: string tsigAlgorithm: description: |- The TSIG Algorithm configured in the DNS supporting RFC2136. Used only @@ -449,9 +440,6 @@ spec: description: |- The name of the secret containing the TSIG value. If ``tsigKeyName`` is defined, this field is required. - type: object - required: - - name properties: key: description: |- @@ -464,9 +452,14 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - nameserver + type: object route53: description: Use the AWS Route53 API to manage DNS01 challenge records. - type: object properties: accessKeyID: description: |- @@ -484,9 +477,6 @@ spec: If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials - type: object - required: - - name properties: key: description: |- @@ -499,28 +489,22 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object auth: description: Auth configures how cert-manager authenticates. - type: object - required: - - kubernetes properties: kubernetes: description: |- Kubernetes authenticates with Route53 using AssumeRoleWithWebIdentity by passing a bound ServiceAccount token. - type: object - required: - - serviceAccountRef properties: serviceAccountRef: description: |- A reference to a service account that will be used to request a bound token (also known as "projected token"). To use this field, you must configure an RBAC rule to let cert-manager request a token. - type: object - required: - - name properties: audiences: description: |- @@ -528,12 +512,22 @@ spec: token passed to AWS. The default token consisting of the issuer's namespace and name is always included. If unset the audience defaults to `sts.amazonaws.com`. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic name: description: Name of the ServiceAccount used to request a token. type: string + required: + - name + type: object + required: + - serviceAccountRef + type: object + required: + - kubernetes + type: object hostedZoneID: description: If set, the provider will manage only this zone in Route53 and will not do a lookup using the route53:ListHostedZonesByName api call. type: string @@ -573,9 +567,6 @@ spec: If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials - type: object - required: - - name properties: key: description: |- @@ -588,14 +579,14 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + type: object webhook: description: |- Configure an external webhook based DNS01 challenge solver to manage DNS01 challenge records. - type: object - required: - - groupName - - solverName properties: config: description: |- @@ -621,13 +612,17 @@ spec: implementation. This will typically be the name of the provider, e.g., 'cloudflare'. type: string + required: + - groupName + - solverName + type: object + type: object http01: description: |- Configures cert-manager to attempt to complete authorizations by performing the HTTP01 challenge flow. It is not possible to obtain certificates for wildcard domain names (e.g., `*.example.com`) using the HTTP01 challenge mechanism. - type: object properties: gatewayHTTPRoute: description: |- @@ -635,22 +630,20 @@ spec: in Kubernetes (https://gateway-api.sigs.k8s.io/). The Gateway solver will create HTTPRoutes with the specified labels in the same namespace as the challenge. This solver is experimental, and fields / behaviour may change in the future. - type: object properties: labels: + additionalProperties: + type: string description: |- Custom labels that will be applied to HTTPRoutes created by cert-manager while solving HTTP-01 challenges. type: object - additionalProperties: - type: string parentRefs: description: |- When solving an HTTP-01 challenge, cert-manager creates an HTTPRoute. cert-manager needs to know which parentRefs should be used when creating the HTTPRoute. Usually, the parentRef references a Gateway. See: https://gateway-api.sigs.k8s.io/api-types/httproute/#attaching-to-gateways - type: array items: description: |- ParentReference identifies an API object (usually a Gateway) that can be considered @@ -665,11 +658,9 @@ spec: The API object must be valid in the cluster; the Group and Kind must be registered in the cluster for this reference to be valid. - type: object - required: - - name properties: group: + default: gateway.networking.k8s.io description: |- Group is the group of the referent. When unspecified, "gateway.networking.k8s.io" is inferred. @@ -677,11 +668,11 @@ spec: Group must be explicitly set to "" (empty string). Support: Core - type: string - default: gateway.networking.k8s.io maxLength: 253 pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string kind: + default: Gateway description: |- Kind is kind of the referent. @@ -691,19 +682,18 @@ spec: * Service (Mesh conformance profile, ClusterIP Services only) Support for other resources is Implementation-Specific. - type: string - default: Gateway maxLength: 63 minLength: 1 pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string name: description: |- Name is the name of the referent. Support: Core - type: string maxLength: 253 minLength: 1 + type: string namespace: description: |- Namespace is the namespace of the referent. When unspecified, this refers @@ -728,10 +718,10 @@ spec: Support: Core - type: string maxLength: 63 minLength: 1 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string port: description: |- Port is the network port this Route targets. It can be interpreted @@ -764,10 +754,10 @@ spec: the Route MUST be considered detached from the Gateway. Support: Extended - type: integer format: int32 maximum: 65535 minimum: 1 + type: integer sectionName: description: |- SectionName is the name of a section within the target resource. In the @@ -794,15 +784,19 @@ spec: Route MUST be considered detached from the Gateway. Support: Core - type: string maxLength: 253 minLength: 1 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + type: object + type: array + x-kubernetes-list-type: atomic podTemplate: description: |- Optional pod template used to configure the ACME challenge solver pods used for HTTP01 challenges. - type: object properties: metadata: description: |- @@ -810,32 +804,29 @@ spec: Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values. - type: object properties: annotations: + additionalProperties: + type: string description: Annotations that should be added to the created ACME HTTP01 solver pods. type: object + labels: additionalProperties: type: string - labels: description: Labels that should be added to the created ACME HTTP01 solver pods. type: object - additionalProperties: - type: string + type: object spec: description: |- PodSpec defines overrides for the HTTP01 challenge solver pod. Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields. All other fields will be ignored. - type: object properties: affinity: description: If specified, the pod's scheduling constraints - type: object properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -848,31 +839,20 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. - type: array 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). - type: object - required: - - preference - - weight properties: preference: description: A node selector term, associated with the corresponding weight. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -889,22 +869,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -921,16 +901,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic weight: description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - preference + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -939,31 +930,21 @@ spec: If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. - type: object - required: - - nodeSelectorTerms properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. - type: array 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. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -980,22 +961,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -1012,17 +993,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic + type: array x-kubernetes-list-type: atomic + required: + - nodeSelectorTerms + type: object x-kubernetes-map-type: atomic + type: object podAffinity: description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1035,37 +1026,23 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1081,19 +1058,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1105,10 +1088,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1120,10 +1102,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1132,19 +1113,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1160,19 +1135,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1180,9 +1161,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1192,12 +1173,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1208,7 +1197,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -1217,27 +1205,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1253,19 +1232,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1277,10 +1262,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1292,10 +1276,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1304,19 +1287,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1332,19 +1309,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1352,9 +1335,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1364,10 +1347,14 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object podAntiAffinity: description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1377,40 +1364,26 @@ spec: 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 through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + compute a sum by iterating through the elements of this field and subtracting + "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1426,19 +1399,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1450,10 +1429,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1465,10 +1443,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1477,19 +1454,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1505,19 +1476,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1525,9 +1502,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1537,12 +1514,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1553,7 +1538,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -1562,27 +1546,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1598,19 +1573,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1622,10 +1603,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1637,10 +1617,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1649,19 +1628,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1677,19 +1650,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1697,9 +1676,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1709,17 +1688,22 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object + type: object imagePullSecrets: description: If specified, the pod's imagePullSecrets - type: array items: description: |- LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. - type: object properties: name: + default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is @@ -1727,22 +1711,59 @@ spec: almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string - default: "" + type: object x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map nodeSelector: + additionalProperties: + type: string description: |- NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ type: object - additionalProperties: - type: string priorityClassName: description: If specified, the pod's priorityClassName. type: string + resources: + description: |- + If specified, the pod's resource requirements. + These values override the global resource configuration flags. + Note that when only specifying resource limits, ensure they are greater than or equal + to the corresponding global resource requests configured via controller flags + (--acme-http01-solver-resource-request-cpu, --acme-http01-solver-resource-request-memory). + Kubernetes will reject pod creation if limits are lower than requests, causing challenge failures. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + 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 the global values configured via controller flags. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object securityContext: description: If specified, the pod's security context - type: object properties: fsGroup: description: |- @@ -1756,8 +1777,8 @@ spec: If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer fsGroupChangePolicy: description: |- fsGroupChangePolicy defines behavior of changing ownership and permission of the volume @@ -1776,8 +1797,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer runAsNonRoot: description: |- Indicates that the container must run as a non-root user. @@ -1795,8 +1816,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer seLinuxOptions: description: |- The SELinux context to be applied to all containers. @@ -1805,7 +1826,6 @@ spec: both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: object properties: level: description: Level is SELinux level label that applies to the container. @@ -1819,13 +1839,11 @@ spec: user: description: User is a SELinux user label that applies to the container. type: string + type: object seccompProfile: description: |- The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. - type: object - required: - - type properties: localhostProfile: description: |- @@ -1843,6 +1861,9 @@ spec: RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. type: string + required: + - type + type: object supplementalGroups: description: |- A list of groups applied to the first process run in each container, in addition @@ -1852,22 +1873,18 @@ spec: defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. - type: array items: - type: integer format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic sysctls: description: |- Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. - type: array items: description: Sysctl defines a kernel parameter to be set - type: object - required: - - name - - value properties: name: description: Name of a property to set @@ -1875,17 +1892,22 @@ spec: value: description: Value of a property to set type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + type: object serviceAccountName: description: If specified, the pod's service account type: string tolerations: description: If specified, the pod's tolerations. - type: array items: description: |- The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . - type: object properties: effect: description: |- @@ -1910,25 +1932,30 @@ spec: of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. - type: integer format: int64 + type: integer value: description: |- Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. type: string + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object serviceType: description: |- Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort. type: string + type: object ingress: description: |- The ingress based HTTP01 challenge solver will solve challenges by creating or modifying Ingress resources in order to route requests for '/.well-known/acme-challenge/XYZ' to 'challenge solver' pods that are provisioned by cert-manager for each Challenge to be completed. - type: object properties: class: description: |- @@ -1948,7 +1975,6 @@ spec: description: |- Optional ingress template used to configure the ACME challenge solver ingress used for HTTP01 challenges. - type: object properties: metadata: description: |- @@ -1956,18 +1982,19 @@ spec: Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values. - type: object properties: annotations: + additionalProperties: + type: string description: Annotations that should be added to the created ACME HTTP01 solver ingress. type: object + labels: additionalProperties: type: string - labels: description: Labels that should be added to the created ACME HTTP01 solver ingress. type: object - additionalProperties: - type: string + type: object + type: object name: description: |- The name of the ingress resource that should have ACME challenge solving @@ -1981,7 +2008,6 @@ spec: description: |- Optional pod template used to configure the ACME challenge solver pods used for HTTP01 challenges. - type: object properties: metadata: description: |- @@ -1989,32 +2015,29 @@ spec: Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values. - type: object properties: annotations: + additionalProperties: + type: string description: Annotations that should be added to the created ACME HTTP01 solver pods. type: object + labels: additionalProperties: type: string - labels: description: Labels that should be added to the created ACME HTTP01 solver pods. type: object - additionalProperties: - type: string + type: object spec: description: |- PodSpec defines overrides for the HTTP01 challenge solver pod. Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields. All other fields will be ignored. - type: object properties: affinity: description: If specified, the pod's scheduling constraints - type: object properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2027,31 +2050,20 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. - type: array 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). - type: object - required: - - preference - - weight properties: preference: description: A node selector term, associated with the corresponding weight. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -2068,22 +2080,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -2100,16 +2112,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic weight: description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - preference + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2118,31 +2141,21 @@ spec: If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. - type: object - required: - - nodeSelectorTerms properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. - type: array 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. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -2159,22 +2172,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -2191,17 +2204,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic + type: array x-kubernetes-list-type: atomic + required: + - nodeSelectorTerms + type: object x-kubernetes-map-type: atomic + type: object podAffinity: description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2214,37 +2237,23 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2260,19 +2269,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2284,10 +2299,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2299,10 +2313,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2311,19 +2324,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2339,19 +2346,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2359,9 +2372,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -2371,12 +2384,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2387,7 +2408,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -2396,27 +2416,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2432,19 +2443,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2456,10 +2473,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2471,10 +2487,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2483,19 +2498,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2511,19 +2520,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2531,9 +2546,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -2543,10 +2558,14 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object podAntiAffinity: description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2556,40 +2575,26 @@ spec: 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 through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + compute a sum by iterating through the elements of this field and subtracting + "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2605,19 +2610,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2629,10 +2640,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2644,10 +2654,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2656,19 +2665,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2684,19 +2687,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2704,9 +2713,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -2716,12 +2725,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2732,7 +2749,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -2741,27 +2757,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2777,19 +2784,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2801,10 +2814,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2816,10 +2828,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2828,19 +2839,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2856,19 +2861,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2876,9 +2887,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -2888,17 +2899,22 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object + type: object imagePullSecrets: description: If specified, the pod's imagePullSecrets - type: array items: description: |- LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. - type: object properties: name: + default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is @@ -2906,22 +2922,59 @@ spec: almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string - default: "" + type: object x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map nodeSelector: + additionalProperties: + type: string description: |- NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ type: object - additionalProperties: - type: string priorityClassName: description: If specified, the pod's priorityClassName. type: string + resources: + description: |- + If specified, the pod's resource requirements. + These values override the global resource configuration flags. + Note that when only specifying resource limits, ensure they are greater than or equal + to the corresponding global resource requests configured via controller flags + (--acme-http01-solver-resource-request-cpu, --acme-http01-solver-resource-request-memory). + Kubernetes will reject pod creation if limits are lower than requests, causing challenge failures. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + 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 the global values configured via controller flags. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object securityContext: description: If specified, the pod's security context - type: object properties: fsGroup: description: |- @@ -2935,8 +2988,8 @@ spec: If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer fsGroupChangePolicy: description: |- fsGroupChangePolicy defines behavior of changing ownership and permission of the volume @@ -2955,8 +3008,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer runAsNonRoot: description: |- Indicates that the container must run as a non-root user. @@ -2974,8 +3027,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer seLinuxOptions: description: |- The SELinux context to be applied to all containers. @@ -2984,7 +3037,6 @@ spec: both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: object properties: level: description: Level is SELinux level label that applies to the container. @@ -2998,13 +3050,11 @@ spec: user: description: User is a SELinux user label that applies to the container. type: string + type: object seccompProfile: description: |- The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. - type: object - required: - - type properties: localhostProfile: description: |- @@ -3022,6 +3072,9 @@ spec: RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. type: string + required: + - type + type: object supplementalGroups: description: |- A list of groups applied to the first process run in each container, in addition @@ -3031,22 +3084,18 @@ spec: defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. - type: array items: - type: integer format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic sysctls: description: |- Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. - type: array items: description: Sysctl defines a kernel parameter to be set - type: object - required: - - name - - value properties: name: description: Name of a property to set @@ -3054,17 +3103,22 @@ spec: value: description: Value of a property to set type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + type: object serviceAccountName: description: If specified, the pod's service account type: string tolerations: description: If specified, the pod's tolerations. - type: array items: description: |- The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . - type: object properties: effect: description: |- @@ -3089,18 +3143,25 @@ spec: of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. - type: integer format: int64 + type: integer value: description: |- Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. type: string + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object serviceType: description: |- Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort. type: string + type: object + type: object selector: description: |- Selector selects a set of DNSNames on the Certificate resource that @@ -3108,7 +3169,6 @@ spec: If not specified, the solver will be treated as the 'default' solver with the lowest priority, i.e. if any other solver has a more specific match, it will be used instead. - type: object properties: dnsNames: description: |- @@ -3119,9 +3179,10 @@ spec: with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic dnsZones: description: |- List of DNSZones that this solver will be used to solve. @@ -3133,16 +3194,19 @@ spec: with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string description: |- A label selector that is used to refine the set of certificate's that this challenge solver will apply to. type: object - additionalProperties: - type: string + type: object + type: object token: description: |- The ACME challenge token for this challenge. @@ -3152,10 +3216,10 @@ spec: description: |- The type of ACME challenge this resource represents. One of "HTTP-01" or "DNS-01". - type: string enum: - HTTP-01 - DNS-01 + type: string url: description: |- The URL of the ACME Challenge resource for this challenge. @@ -3166,8 +3230,17 @@ spec: wildcard will be true if this challenge is for a wildcard identifier, for example '*.example.com'. type: boolean - status: + required: + - authorizationURL + - dnsName + - issuerRef + - key + - solver + - token + - type + - url type: object + status: properties: presented: description: |- @@ -3196,7 +3269,6 @@ spec: description: |- Contains the current 'state' of the challenge. If not set, the state of the challenge is unknown. - type: string enum: - valid - ready @@ -3205,6 +3277,12 @@ spec: - invalid - expired - errored + type: string + type: object + required: + - metadata + - spec + type: object served: true storage: true subresources: diff --git a/modules/security/cert-manager/base/crds/clusterissuers.cert-manager.io.yaml b/modules/security/cert-manager/base/crds/clusterissuers.cert-manager.io.yaml index 38d0e7a8..95ba26c0 100644 --- a/modules/security/cert-manager/base/crds/clusterissuers.cert-manager.io.yaml +++ b/modules/security/cert-manager/base/crds/clusterissuers.cert-manager.io.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.18.3/cert-manager.crds.yaml +# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.19.2/cert-manager.crds.yaml --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -21,31 +21,29 @@ metadata: spec: group: cert-manager.io names: + categories: + - cert-manager kind: ClusterIssuer listKind: ClusterIssuerList plural: clusterissuers shortNames: - ciss singular: clusterissuer - categories: - - cert-manager scope: Cluster versions: - - name: v1 - subresources: - status: {} - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=="Ready")].status + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type == "Ready")].status name: Ready type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message + - jsonPath: .status.conditions[?(@.type == "Ready")].message name: Status priority: 1 type: string - - jsonPath: .metadata.creationTimestamp - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + jsonPath: .metadata.creationTimestamp name: Age type: date + name: v1 schema: openAPIV3Schema: description: |- @@ -54,9 +52,6 @@ spec: It is similar to an Issuer, however it is cluster-scoped and therefore can be referenced by resources that exist in *any* namespace, not just the same namespace as the referent. - type: object - required: - - spec properties: apiVersion: description: |- @@ -77,16 +72,11 @@ spec: type: object spec: description: Desired state of the ClusterIssuer resource. - type: object properties: acme: description: |- ACME configures this issuer to communicate with a RFC8555 (ACME) server to obtain signed x509 certificates. - type: object - required: - - privateKeySecretRef - - server properties: caBundle: description: |- @@ -96,8 +86,8 @@ spec: kinds of security vulnerabilities. If CABundle and SkipTLSVerify are unset, the system certificate bundle inside the container is used to validate the TLS connection. - type: string format: byte + type: string disableAccountKeyGeneration: description: |- Enables or disables generating a new ACME account key. @@ -129,21 +119,17 @@ spec: server. If set, upon registration cert-manager will attempt to associate the given external account credentials with the registered ACME account. - type: object - required: - - keyID - - keySecretRef properties: keyAlgorithm: description: |- Deprecated: keyAlgorithm field exists for historical compatibility reasons and should not be used. The algorithm is now hardcoded to HS256 in golang/x/crypto/acme. - type: string enum: - HS256 - HS384 - HS512 + type: string keyID: description: keyID is the ID of the CA key that the External Account is bound to. type: string @@ -156,9 +142,6 @@ spec: the External Account Binding keyID above. The secret key stored in the Secret **must** be un-padded, base64 URL encoded data. - type: object - required: - - name properties: key: description: |- @@ -171,6 +154,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - keyID + - keySecretRef + type: object preferredChain: description: |- PreferredChain is the chain to use if the ACME server outputs multiple. @@ -181,8 +171,8 @@ spec: This value picks the first certificate bundle in the combined set of ACME default and alternative chains that has a root-most certificate with this value as its issuer's commonname. - type: string maxLength: 64 + type: string privateKeySecretRef: description: |- PrivateKey is the name of a Kubernetes Secret resource that will be used to @@ -190,9 +180,6 @@ spec: Optionally, a `key` may be specified to select a specific entry within the named Secret resource. If `key` is not specified, a default of `tls.key` will be used. - type: object - required: - - name properties: key: description: |- @@ -205,6 +192,9 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object profile: description: |- Profile allows requesting a certificate profile from the ACME server. @@ -236,36 +226,26 @@ spec: Solver configurations must be provided in order to obtain certificates from an ACME server. For more information, see: https://cert-manager.io/docs/configuration/acme/ - type: array items: description: |- An ACMEChallengeSolver describes how to solve ACME challenges for the issuer it is part of. A selector may be provided to use different solving strategies for different DNS names. Only one of HTTP01 or DNS01 must be provided. - type: object properties: dns01: description: |- Configures cert-manager to attempt to complete authorizations by performing the DNS01 challenge flow. - type: object properties: acmeDNS: description: |- Use the 'ACME DNS' (https://github.com/joohoi/acme-dns) API to manage DNS01 challenge records. - type: object - required: - - accountSecretRef - - host properties: accountSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -278,24 +258,22 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object host: type: string + required: + - accountSecretRef + - host + type: object akamai: description: Use the Akamai DNS zone management API to manage DNS01 challenge records. - type: object - required: - - accessTokenSecretRef - - clientSecretSecretRef - - clientTokenSecretRef - - serviceConsumerDomain properties: accessTokenSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -308,13 +286,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object clientSecretSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -327,13 +305,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object clientTokenSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -346,14 +324,19 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object serviceConsumerDomain: type: string + required: + - accessTokenSecretRef + - clientSecretSecretRef + - clientTokenSecretRef + - serviceConsumerDomain + type: object azureDNS: description: Use the Microsoft Azure DNS API to manage DNS01 challenge records. - type: object - required: - - resourceGroupName - - subscriptionID properties: clientID: description: |- @@ -366,9 +349,6 @@ spec: Auth: Azure Service Principal: A reference to a Secret containing the password associated with the Service Principal. If set, ClientID and TenantID must also be set. - type: object - required: - - name properties: key: description: |- @@ -381,14 +361,17 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object environment: description: name of the Azure environment (default AzurePublicCloud) - type: string enum: - AzurePublicCloud - AzureChinaCloud - AzureGermanCloud - AzureUSGovernmentCloud + type: string hostedZoneName: description: name of the DNS zone that should be used type: string @@ -397,7 +380,6 @@ spec: Auth: Azure Workload Identity or Azure Managed Service Identity: Settings to enable Azure Workload Identity or Azure Managed Service Identity If set, ClientID, ClientSecret and TenantID must not be set. - type: object properties: clientID: description: client ID of the managed identity, cannot be used at the same time as resourceID @@ -410,6 +392,7 @@ spec: tenantID: description: tenant ID of the managed identity, cannot be used at the same time as resourceID type: string + type: object resourceGroupName: description: resource group the DNS zone is located in type: string @@ -422,11 +405,12 @@ spec: The TenantID of the Azure Service Principal used to authenticate with Azure DNS. If set, ClientID and ClientSecret must also be set. type: string + required: + - resourceGroupName + - subscriptionID + type: object cloudDNS: description: Use the Google Cloud DNS API to manage DNS01 challenge records. - type: object - required: - - project properties: hostedZoneName: description: |- @@ -440,9 +424,6 @@ spec: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -455,18 +436,20 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - project + type: object cloudflare: description: Use the Cloudflare API to manage DNS01 challenge records. - type: object properties: apiKeySecretRef: description: |- API key to use to authenticate with Cloudflare. Note: using an API token to authenticate is now the recommended method as it allows greater control of permissions. - type: object - required: - - name properties: key: description: |- @@ -479,11 +462,11 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string - apiTokenSecretRef: - description: API token used to authenticate with Cloudflare. - type: object required: - name + type: object + apiTokenSecretRef: + description: API token used to authenticate with Cloudflare. properties: key: description: |- @@ -496,30 +479,28 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object email: description: Email of the account, only required when using API key based authentication. type: string + type: object cnameStrategy: description: |- CNAMEStrategy configures how the DNS01 provider should handle CNAME records when found in DNS zones. - type: string enum: - None - Follow + type: string digitalocean: description: Use the DigitalOcean DNS API to manage DNS01 challenge records. - type: object - required: - - tokenSecretRef properties: tokenSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -532,13 +513,16 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - tokenSecretRef + type: object rfc2136: description: |- Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/) to manage DNS01 challenge records. - type: object - required: - - nameserver properties: nameserver: description: |- @@ -547,6 +531,12 @@ spec: enclosed in square brackets (e.g [2001:db8::1]) ; port is optional. This field is required. type: string + protocol: + description: Protocol to use for dynamic DNS update queries. Valid values are (case-sensitive) ``TCP`` and ``UDP``; ``UDP`` (default). + enum: + - TCP + - UDP + type: string tsigAlgorithm: description: |- The TSIG Algorithm configured in the DNS supporting RFC2136. Used only @@ -563,9 +553,6 @@ spec: description: |- The name of the secret containing the TSIG value. If ``tsigKeyName`` is defined, this field is required. - type: object - required: - - name properties: key: description: |- @@ -578,9 +565,14 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - nameserver + type: object route53: description: Use the AWS Route53 API to manage DNS01 challenge records. - type: object properties: accessKeyID: description: |- @@ -598,9 +590,6 @@ spec: If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials - type: object - required: - - name properties: key: description: |- @@ -613,28 +602,22 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object auth: description: Auth configures how cert-manager authenticates. - type: object - required: - - kubernetes properties: kubernetes: description: |- Kubernetes authenticates with Route53 using AssumeRoleWithWebIdentity by passing a bound ServiceAccount token. - type: object - required: - - serviceAccountRef properties: serviceAccountRef: description: |- A reference to a service account that will be used to request a bound token (also known as "projected token"). To use this field, you must configure an RBAC rule to let cert-manager request a token. - type: object - required: - - name properties: audiences: description: |- @@ -642,12 +625,22 @@ spec: token passed to AWS. The default token consisting of the issuer's namespace and name is always included. If unset the audience defaults to `sts.amazonaws.com`. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic name: description: Name of the ServiceAccount used to request a token. type: string + required: + - name + type: object + required: + - serviceAccountRef + type: object + required: + - kubernetes + type: object hostedZoneID: description: If set, the provider will manage only this zone in Route53 and will not do a lookup using the route53:ListHostedZonesByName api call. type: string @@ -687,9 +680,6 @@ spec: If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials - type: object - required: - - name properties: key: description: |- @@ -702,14 +692,14 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + type: object webhook: description: |- Configure an external webhook based DNS01 challenge solver to manage DNS01 challenge records. - type: object - required: - - groupName - - solverName properties: config: description: |- @@ -735,13 +725,17 @@ spec: implementation. This will typically be the name of the provider, e.g., 'cloudflare'. type: string + required: + - groupName + - solverName + type: object + type: object http01: description: |- Configures cert-manager to attempt to complete authorizations by performing the HTTP01 challenge flow. It is not possible to obtain certificates for wildcard domain names (e.g., `*.example.com`) using the HTTP01 challenge mechanism. - type: object properties: gatewayHTTPRoute: description: |- @@ -749,22 +743,20 @@ spec: in Kubernetes (https://gateway-api.sigs.k8s.io/). The Gateway solver will create HTTPRoutes with the specified labels in the same namespace as the challenge. This solver is experimental, and fields / behaviour may change in the future. - type: object properties: labels: + additionalProperties: + type: string description: |- Custom labels that will be applied to HTTPRoutes created by cert-manager while solving HTTP-01 challenges. type: object - additionalProperties: - type: string parentRefs: description: |- When solving an HTTP-01 challenge, cert-manager creates an HTTPRoute. cert-manager needs to know which parentRefs should be used when creating the HTTPRoute. Usually, the parentRef references a Gateway. See: https://gateway-api.sigs.k8s.io/api-types/httproute/#attaching-to-gateways - type: array items: description: |- ParentReference identifies an API object (usually a Gateway) that can be considered @@ -779,11 +771,9 @@ spec: The API object must be valid in the cluster; the Group and Kind must be registered in the cluster for this reference to be valid. - type: object - required: - - name properties: group: + default: gateway.networking.k8s.io description: |- Group is the group of the referent. When unspecified, "gateway.networking.k8s.io" is inferred. @@ -791,11 +781,11 @@ spec: Group must be explicitly set to "" (empty string). Support: Core - type: string - default: gateway.networking.k8s.io maxLength: 253 pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string kind: + default: Gateway description: |- Kind is kind of the referent. @@ -805,19 +795,18 @@ spec: * Service (Mesh conformance profile, ClusterIP Services only) Support for other resources is Implementation-Specific. - type: string - default: Gateway maxLength: 63 minLength: 1 pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string name: description: |- Name is the name of the referent. Support: Core - type: string maxLength: 253 minLength: 1 + type: string namespace: description: |- Namespace is the namespace of the referent. When unspecified, this refers @@ -842,10 +831,10 @@ spec: Support: Core - type: string maxLength: 63 minLength: 1 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string port: description: |- Port is the network port this Route targets. It can be interpreted @@ -878,10 +867,10 @@ spec: the Route MUST be considered detached from the Gateway. Support: Extended - type: integer format: int32 maximum: 65535 minimum: 1 + type: integer sectionName: description: |- SectionName is the name of a section within the target resource. In the @@ -908,15 +897,19 @@ spec: Route MUST be considered detached from the Gateway. Support: Core - type: string maxLength: 253 minLength: 1 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + type: object + type: array + x-kubernetes-list-type: atomic podTemplate: description: |- Optional pod template used to configure the ACME challenge solver pods used for HTTP01 challenges. - type: object properties: metadata: description: |- @@ -924,32 +917,29 @@ spec: Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values. - type: object properties: annotations: + additionalProperties: + type: string description: Annotations that should be added to the created ACME HTTP01 solver pods. type: object + labels: additionalProperties: type: string - labels: description: Labels that should be added to the created ACME HTTP01 solver pods. type: object - additionalProperties: - type: string + type: object spec: description: |- PodSpec defines overrides for the HTTP01 challenge solver pod. Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields. All other fields will be ignored. - type: object properties: affinity: description: If specified, the pod's scheduling constraints - type: object properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -962,31 +952,20 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. - type: array 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). - type: object - required: - - preference - - weight properties: preference: description: A node selector term, associated with the corresponding weight. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -1003,22 +982,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -1035,16 +1014,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic weight: description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - preference + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1053,31 +1043,21 @@ spec: If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. - type: object - required: - - nodeSelectorTerms properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. - type: array 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. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -1094,22 +1074,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -1126,17 +1106,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic + type: array x-kubernetes-list-type: atomic + required: + - nodeSelectorTerms + type: object x-kubernetes-map-type: atomic + type: object podAffinity: description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1149,37 +1139,23 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1195,19 +1171,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1219,10 +1201,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1234,10 +1215,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1246,19 +1226,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1274,19 +1248,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1294,9 +1274,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1306,12 +1286,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1322,7 +1310,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -1331,27 +1318,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1367,19 +1345,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1391,10 +1375,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1406,10 +1389,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1418,19 +1400,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1446,19 +1422,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1466,9 +1448,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1478,10 +1460,14 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object podAntiAffinity: description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1491,40 +1477,26 @@ spec: 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 through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + compute a sum by iterating through the elements of this field and subtracting + "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1540,19 +1512,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1564,10 +1542,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1579,10 +1556,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1591,19 +1567,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1619,19 +1589,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1639,9 +1615,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1651,12 +1627,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1667,7 +1651,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -1676,27 +1659,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1712,19 +1686,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1736,10 +1716,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1751,10 +1730,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1763,19 +1741,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1791,19 +1763,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1811,9 +1789,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1823,17 +1801,22 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object + type: object imagePullSecrets: description: If specified, the pod's imagePullSecrets - type: array items: description: |- LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. - type: object properties: name: + default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is @@ -1841,22 +1824,59 @@ spec: almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string - default: "" + type: object x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map nodeSelector: + additionalProperties: + type: string description: |- NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ type: object - additionalProperties: - type: string priorityClassName: description: If specified, the pod's priorityClassName. type: string + resources: + description: |- + If specified, the pod's resource requirements. + These values override the global resource configuration flags. + Note that when only specifying resource limits, ensure they are greater than or equal + to the corresponding global resource requests configured via controller flags + (--acme-http01-solver-resource-request-cpu, --acme-http01-solver-resource-request-memory). + Kubernetes will reject pod creation if limits are lower than requests, causing challenge failures. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + 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 the global values configured via controller flags. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object securityContext: description: If specified, the pod's security context - type: object properties: fsGroup: description: |- @@ -1870,8 +1890,8 @@ spec: If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer fsGroupChangePolicy: description: |- fsGroupChangePolicy defines behavior of changing ownership and permission of the volume @@ -1890,8 +1910,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer runAsNonRoot: description: |- Indicates that the container must run as a non-root user. @@ -1909,8 +1929,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer seLinuxOptions: description: |- The SELinux context to be applied to all containers. @@ -1919,7 +1939,6 @@ spec: both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: object properties: level: description: Level is SELinux level label that applies to the container. @@ -1933,13 +1952,11 @@ spec: user: description: User is a SELinux user label that applies to the container. type: string + type: object seccompProfile: description: |- The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. - type: object - required: - - type properties: localhostProfile: description: |- @@ -1957,6 +1974,9 @@ spec: RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. type: string + required: + - type + type: object supplementalGroups: description: |- A list of groups applied to the first process run in each container, in addition @@ -1966,22 +1986,18 @@ spec: defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. - type: array items: - type: integer format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic sysctls: description: |- Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. - type: array items: description: Sysctl defines a kernel parameter to be set - type: object - required: - - name - - value properties: name: description: Name of a property to set @@ -1989,17 +2005,22 @@ spec: value: description: Value of a property to set type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + type: object serviceAccountName: description: If specified, the pod's service account type: string tolerations: description: If specified, the pod's tolerations. - type: array items: description: |- The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . - type: object properties: effect: description: |- @@ -2024,25 +2045,30 @@ spec: of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. - type: integer format: int64 + type: integer value: description: |- Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. type: string + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object serviceType: description: |- Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort. type: string + type: object ingress: description: |- The ingress based HTTP01 challenge solver will solve challenges by creating or modifying Ingress resources in order to route requests for '/.well-known/acme-challenge/XYZ' to 'challenge solver' pods that are provisioned by cert-manager for each Challenge to be completed. - type: object properties: class: description: |- @@ -2062,7 +2088,6 @@ spec: description: |- Optional ingress template used to configure the ACME challenge solver ingress used for HTTP01 challenges. - type: object properties: metadata: description: |- @@ -2070,18 +2095,19 @@ spec: Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values. - type: object properties: annotations: + additionalProperties: + type: string description: Annotations that should be added to the created ACME HTTP01 solver ingress. type: object + labels: additionalProperties: type: string - labels: description: Labels that should be added to the created ACME HTTP01 solver ingress. type: object - additionalProperties: - type: string + type: object + type: object name: description: |- The name of the ingress resource that should have ACME challenge solving @@ -2095,7 +2121,6 @@ spec: description: |- Optional pod template used to configure the ACME challenge solver pods used for HTTP01 challenges. - type: object properties: metadata: description: |- @@ -2103,32 +2128,29 @@ spec: Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values. - type: object properties: annotations: + additionalProperties: + type: string description: Annotations that should be added to the created ACME HTTP01 solver pods. type: object + labels: additionalProperties: type: string - labels: description: Labels that should be added to the created ACME HTTP01 solver pods. type: object - additionalProperties: - type: string + type: object spec: description: |- PodSpec defines overrides for the HTTP01 challenge solver pod. Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields. All other fields will be ignored. - type: object properties: affinity: description: If specified, the pod's scheduling constraints - type: object properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2141,31 +2163,20 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. - type: array 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). - type: object - required: - - preference - - weight properties: preference: description: A node selector term, associated with the corresponding weight. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -2182,22 +2193,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: - description: |- - A node selector requirement is a selector that contains values, a key, and an operator - that relates the key and values. - type: object - required: - - key - - operator + 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. @@ -2214,16 +2225,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic weight: description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - preference + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2232,31 +2254,21 @@ spec: If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. - type: object - required: - - nodeSelectorTerms properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. - type: array 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. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -2273,22 +2285,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -2305,17 +2317,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic + type: array x-kubernetes-list-type: atomic + required: + - nodeSelectorTerms + type: object x-kubernetes-map-type: atomic + type: object podAffinity: description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2328,37 +2350,23 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2374,19 +2382,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2398,10 +2412,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2413,10 +2426,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2425,19 +2437,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2453,19 +2459,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2473,9 +2485,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -2485,12 +2497,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2501,7 +2521,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -2510,27 +2529,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2546,19 +2556,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2570,10 +2586,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2585,10 +2600,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2597,19 +2611,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2625,19 +2633,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2645,9 +2659,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -2657,10 +2671,14 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object podAntiAffinity: description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2670,40 +2688,26 @@ spec: 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 through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + compute a sum by iterating through the elements of this field and subtracting + "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2719,19 +2723,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2743,10 +2753,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2758,10 +2767,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2770,19 +2778,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2798,19 +2800,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2818,9 +2826,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -2830,12 +2838,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2846,7 +2862,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -2855,27 +2870,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2891,19 +2897,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2915,10 +2927,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2930,10 +2941,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2942,19 +2952,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2970,19 +2974,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2990,9 +3000,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -3002,17 +3012,22 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object + type: object imagePullSecrets: description: If specified, the pod's imagePullSecrets - type: array items: description: |- LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. - type: object properties: name: + default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is @@ -3020,22 +3035,59 @@ spec: almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string - default: "" + type: object x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map nodeSelector: + additionalProperties: + type: string description: |- NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ type: object - additionalProperties: - type: string priorityClassName: description: If specified, the pod's priorityClassName. type: string + resources: + description: |- + If specified, the pod's resource requirements. + These values override the global resource configuration flags. + Note that when only specifying resource limits, ensure they are greater than or equal + to the corresponding global resource requests configured via controller flags + (--acme-http01-solver-resource-request-cpu, --acme-http01-solver-resource-request-memory). + Kubernetes will reject pod creation if limits are lower than requests, causing challenge failures. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + 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 the global values configured via controller flags. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object securityContext: description: If specified, the pod's security context - type: object properties: fsGroup: description: |- @@ -3049,8 +3101,8 @@ spec: If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer fsGroupChangePolicy: description: |- fsGroupChangePolicy defines behavior of changing ownership and permission of the volume @@ -3069,8 +3121,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer runAsNonRoot: description: |- Indicates that the container must run as a non-root user. @@ -3088,8 +3140,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer seLinuxOptions: description: |- The SELinux context to be applied to all containers. @@ -3098,7 +3150,6 @@ spec: both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: object properties: level: description: Level is SELinux level label that applies to the container. @@ -3112,13 +3163,11 @@ spec: user: description: User is a SELinux user label that applies to the container. type: string + type: object seccompProfile: description: |- The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. - type: object - required: - - type properties: localhostProfile: description: |- @@ -3136,6 +3185,9 @@ spec: RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. type: string + required: + - type + type: object supplementalGroups: description: |- A list of groups applied to the first process run in each container, in addition @@ -3145,22 +3197,18 @@ spec: defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. - type: array items: - type: integer format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic sysctls: description: |- Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. - type: array items: description: Sysctl defines a kernel parameter to be set - type: object - required: - - name - - value properties: name: description: Name of a property to set @@ -3168,17 +3216,22 @@ spec: value: description: Value of a property to set type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + type: object serviceAccountName: description: If specified, the pod's service account type: string tolerations: description: If specified, the pod's tolerations. - type: array items: description: |- The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . - type: object properties: effect: description: |- @@ -3203,18 +3256,25 @@ spec: of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. - type: integer format: int64 + type: integer value: description: |- Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. type: string + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object serviceType: description: |- Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort. type: string + type: object + type: object selector: description: |- Selector selects a set of DNSNames on the Certificate resource that @@ -3222,7 +3282,6 @@ spec: If not specified, the solver will be treated as the 'default' solver with the lowest priority, i.e. if any other solver has a more specific match, it will be used instead. - type: object properties: dnsNames: description: |- @@ -3233,9 +3292,10 @@ spec: with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic dnsZones: description: |- List of DNSZones that this solver will be used to solve. @@ -3247,41 +3307,49 @@ spec: with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string description: |- A label selector that is used to refine the set of certificate's that this challenge solver will apply to. type: object - additionalProperties: - type: string + type: object + type: object + type: array + x-kubernetes-list-type: atomic + required: + - privateKeySecretRef + - server + type: object ca: description: |- CA configures this issuer to sign certificates using a signing CA keypair stored in a Secret resource. This is used to build internal PKIs that are managed by cert-manager. - type: object - required: - - secretName properties: crlDistributionPoints: description: |- The CRL distribution points is an X.509 v3 certificate extension which identifies the location of the CRL from which the revocation of this certificate can be checked. If not set, certificates will be issued without distribution points set. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic issuingCertificateURLs: description: |- IssuingCertificateURLs is a list of URLs which this issuer should embed into certificates it creates. See https://www.rfc-editor.org/rfc/rfc5280#section-4.2.2.1 for more details. As an example, such a URL might be "http://ca.domain.com/ca.crt". - type: array items: type: string + type: array + x-kubernetes-list-type: atomic ocspServers: description: |- The OCSP server list is an X.509 v3 extension that defines a list of @@ -3289,51 +3357,45 @@ spec: revocation status of an issued certificate. If not set, the certificate will be issued with no OCSP servers set. For example, an OCSP server URL could be "http://ocsp.int-x3.letsencrypt.org". - type: array items: type: string + type: array + x-kubernetes-list-type: atomic secretName: description: |- SecretName is the name of the secret used to sign Certificates issued by this Issuer. type: string + required: + - secretName + type: object selfSigned: description: |- SelfSigned configures this issuer to 'self sign' certificates using the private key used to create the CertificateRequest object. - type: object properties: crlDistributionPoints: description: |- The CRL distribution points is an X.509 v3 certificate extension which identifies the location of the CRL from which the revocation of this certificate can be checked. If not set certificate will be issued without CDP. Values are strings. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic + type: object vault: description: |- Vault configures this issuer to sign certificates using a HashiCorp Vault PKI backend. - type: object - required: - - auth - - path - - server properties: auth: description: Auth configures how cert-manager authenticates with the Vault server. - type: object properties: appRole: description: |- AppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource. - type: object - required: - - path - - roleId - - secretRef properties: path: description: |- @@ -3351,9 +3413,6 @@ spec: to authenticate with Vault. The `key` field must be specified and denotes which entry within the Secret resource is used as the app role secret. - type: object - required: - - name properties: key: description: |- @@ -3366,12 +3425,19 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - path + - roleId + - secretRef + type: object clientCertificate: description: |- ClientCertificate authenticates with Vault by presenting a client certificate during the request's TLS handshake. Works only when using HTTPS protocol. - type: object properties: mountPath: description: |- @@ -3391,13 +3457,11 @@ spec: tls.crt and tls.key) used to authenticate to Vault using TLS client authentication. type: string + type: object kubernetes: description: |- Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server. - type: object - required: - - role properties: mountPath: description: |- @@ -3416,9 +3480,6 @@ spec: The required Secret field containing a Kubernetes ServiceAccount JWT used for authenticating with Vault. Use of 'ambient credentials' is not supported. - type: object - required: - - name properties: key: description: |- @@ -3431,6 +3492,9 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object serviceAccountRef: description: |- A reference to a service account that will be used to request a bound @@ -3438,25 +3502,26 @@ spec: using this field means that you don't rely on statically bound tokens. To use this field, you must configure an RBAC rule to let cert-manager request a token. - type: object - required: - - name properties: audiences: description: |- TokenAudiences is an optional list of extra audiences to include in the token passed to Vault. The default token consisting of the issuer's namespace and name is always included. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic name: description: Name of the ServiceAccount used to request a token. type: string + required: + - name + type: object + required: + - role + type: object tokenSecretRef: description: TokenSecretRef authenticates with Vault by presenting a token. - type: object - required: - - name properties: key: description: |- @@ -3469,6 +3534,10 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + type: object caBundle: description: |- Base64-encoded bundle of PEM CAs which will be used to validate the certificate @@ -3477,8 +3546,8 @@ spec: Mutually exclusive with CABundleSecretRef. If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in the cert-manager controller container is used to validate the TLS connection. - type: string format: byte + type: string caBundleSecretRef: description: |- Reference to a Secret containing a bundle of PEM-encoded CAs to use when @@ -3487,9 +3556,6 @@ spec: If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in the cert-manager controller container is used to validate the TLS connection. If no key for the Secret is specified, cert-manager will default to 'ca.crt'. - type: object - required: - - name properties: key: description: |- @@ -3502,13 +3568,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object clientCertSecretRef: description: |- Reference to a Secret containing a PEM-encoded Client Certificate to use when the Vault server requires mTLS. - type: object - required: - - name properties: key: description: |- @@ -3521,13 +3587,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object clientKeySecretRef: description: |- Reference to a Secret containing a PEM-encoded Client Private Key to use when the Vault server requires mTLS. - type: object - required: - - name properties: key: description: |- @@ -3540,6 +3606,9 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object namespace: description: |- Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: "ns1" @@ -3558,27 +3627,23 @@ spec: ServerName is used to verify the hostname on the returned certificates by the Vault server. type: string + required: + - auth + - path + - server + type: object venafi: description: |- Venafi configures this issuer to sign certificates using a Venafi TPP or Venafi Cloud policy zone. - type: object - required: - - zone properties: cloud: description: |- Cloud specifies the Venafi cloud configuration settings. Only one of TPP or Cloud may be specified. - type: object - required: - - apiTokenSecretRef properties: apiTokenSecretRef: description: APITokenSecretRef is a secret key selector for the Venafi Cloud API token. - type: object - required: - - name properties: key: description: |- @@ -3591,19 +3656,21 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object url: description: |- URL is the base URL for Venafi Cloud. Defaults to "https://api.venafi.cloud/". type: string + required: + - apiTokenSecretRef + type: object tpp: description: |- TPP specifies Trust Protection Platform configuration settings. Only one of TPP or Cloud may be specified. - type: object - required: - - credentialsRef - - url properties: caBundle: description: |- @@ -3611,8 +3678,8 @@ spec: chain presented by the TPP server. Only used if using HTTPS; ignored for HTTP. If undefined, the certificate bundle in the cert-manager controller container is used to validate the chain. - type: string format: byte + type: string caBundleSecretRef: description: |- Reference to a Secret containing a base64-encoded bundle of PEM CAs @@ -3620,9 +3687,6 @@ spec: Only used if using HTTPS; ignored for HTTP. Mutually exclusive with CABundle. If neither CABundle nor CABundleSecretRef is defined, the certificate bundle in the cert-manager controller container is used to validate the TLS connection. - type: object - required: - - name properties: key: description: |- @@ -3635,25 +3699,32 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object credentialsRef: description: |- CredentialsRef is a reference to a Secret containing the Venafi TPP API credentials. The secret must contain the key 'access-token' for the Access Token Authentication, or two keys, 'username' and 'password' for the API Keys Authentication. - type: object - required: - - name properties: name: description: |- Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object url: description: |- URL is the base URL for the vedsdk endpoint of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk". type: string + required: + - credentialsRef + - url + type: object zone: description: |- Zone is the Venafi Policy Zone to use for this issuer. @@ -3661,16 +3732,18 @@ spec: zone policy. This field is required. type: string + required: + - zone + type: object + type: object status: description: Status of the ClusterIssuer. This is set and managed automatically. - type: object properties: acme: description: |- ACME specific status options. This field should only be set if the Issuer is configured to use an ACME server to issue certificates. - type: object properties: lastPrivateKeyHash: description: |- @@ -3689,24 +3762,20 @@ spec: URI is the unique account identifier, which can also be used to retrieve account details from the CA type: string + type: object conditions: description: |- List of status conditions to indicate the status of a CertificateRequest. Known condition types are `Ready`. - type: array items: description: IssuerCondition contains condition information for an Issuer. - type: object - required: - - status - - type properties: lastTransitionTime: description: |- LastTransitionTime is the timestamp corresponding to the last status change of this condition. - type: string format: date-time + type: string message: description: |- Message is a human readable description of the details of the last @@ -3719,8 +3788,8 @@ spec: For instance, if .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date with respect to the current state of the Issuer. - type: integer format: int64 + type: integer reason: description: |- Reason is a brief machine readable explanation for the condition's last @@ -3728,16 +3797,27 @@ spec: type: string status: description: Status of the condition, one of (`True`, `False`, `Unknown`). - type: string enum: - "True" - "False" - Unknown + type: string type: description: Type of the condition, known values are (`Ready`). type: string + required: + - status + - type + type: object + type: array x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + type: object + required: + - spec + type: object served: true storage: true + subresources: + status: {} diff --git a/modules/security/cert-manager/base/crds/issuers.cert-manager.io.yaml b/modules/security/cert-manager/base/crds/issuers.cert-manager.io.yaml index 63cec1b8..f8287c73 100644 --- a/modules/security/cert-manager/base/crds/issuers.cert-manager.io.yaml +++ b/modules/security/cert-manager/base/crds/issuers.cert-manager.io.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.18.3/cert-manager.crds.yaml +# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.19.2/cert-manager.crds.yaml --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -21,31 +21,29 @@ metadata: spec: group: cert-manager.io names: + categories: + - cert-manager kind: Issuer listKind: IssuerList plural: issuers shortNames: - iss singular: issuer - categories: - - cert-manager scope: Namespaced versions: - - name: v1 - subresources: - status: {} - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=="Ready")].status + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type == "Ready")].status name: Ready type: string - - jsonPath: .status.conditions[?(@.type=="Ready")].message + - jsonPath: .status.conditions[?(@.type == "Ready")].message name: Status priority: 1 type: string - - jsonPath: .metadata.creationTimestamp - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + jsonPath: .metadata.creationTimestamp name: Age type: date + name: v1 schema: openAPIV3Schema: description: |- @@ -53,9 +51,6 @@ spec: referenced as part of `issuerRef` fields. It is scoped to a single namespace and can therefore only be referenced by resources within the same namespace. - type: object - required: - - spec properties: apiVersion: description: |- @@ -76,16 +71,11 @@ spec: type: object spec: description: Desired state of the Issuer resource. - type: object properties: acme: description: |- ACME configures this issuer to communicate with a RFC8555 (ACME) server to obtain signed x509 certificates. - type: object - required: - - privateKeySecretRef - - server properties: caBundle: description: |- @@ -95,8 +85,8 @@ spec: kinds of security vulnerabilities. If CABundle and SkipTLSVerify are unset, the system certificate bundle inside the container is used to validate the TLS connection. - type: string format: byte + type: string disableAccountKeyGeneration: description: |- Enables or disables generating a new ACME account key. @@ -128,21 +118,17 @@ spec: server. If set, upon registration cert-manager will attempt to associate the given external account credentials with the registered ACME account. - type: object - required: - - keyID - - keySecretRef properties: keyAlgorithm: description: |- Deprecated: keyAlgorithm field exists for historical compatibility reasons and should not be used. The algorithm is now hardcoded to HS256 in golang/x/crypto/acme. - type: string enum: - HS256 - HS384 - HS512 + type: string keyID: description: keyID is the ID of the CA key that the External Account is bound to. type: string @@ -155,9 +141,6 @@ spec: the External Account Binding keyID above. The secret key stored in the Secret **must** be un-padded, base64 URL encoded data. - type: object - required: - - name properties: key: description: |- @@ -170,6 +153,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - keyID + - keySecretRef + type: object preferredChain: description: |- PreferredChain is the chain to use if the ACME server outputs multiple. @@ -180,8 +170,8 @@ spec: This value picks the first certificate bundle in the combined set of ACME default and alternative chains that has a root-most certificate with this value as its issuer's commonname. - type: string maxLength: 64 + type: string privateKeySecretRef: description: |- PrivateKey is the name of a Kubernetes Secret resource that will be used to @@ -189,9 +179,6 @@ spec: Optionally, a `key` may be specified to select a specific entry within the named Secret resource. If `key` is not specified, a default of `tls.key` will be used. - type: object - required: - - name properties: key: description: |- @@ -204,6 +191,9 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object profile: description: |- Profile allows requesting a certificate profile from the ACME server. @@ -235,36 +225,26 @@ spec: Solver configurations must be provided in order to obtain certificates from an ACME server. For more information, see: https://cert-manager.io/docs/configuration/acme/ - type: array items: description: |- An ACMEChallengeSolver describes how to solve ACME challenges for the issuer it is part of. A selector may be provided to use different solving strategies for different DNS names. Only one of HTTP01 or DNS01 must be provided. - type: object properties: dns01: description: |- Configures cert-manager to attempt to complete authorizations by performing the DNS01 challenge flow. - type: object properties: acmeDNS: description: |- Use the 'ACME DNS' (https://github.com/joohoi/acme-dns) API to manage DNS01 challenge records. - type: object - required: - - accountSecretRef - - host properties: accountSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -277,24 +257,22 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object host: type: string + required: + - accountSecretRef + - host + type: object akamai: description: Use the Akamai DNS zone management API to manage DNS01 challenge records. - type: object - required: - - accessTokenSecretRef - - clientSecretSecretRef - - clientTokenSecretRef - - serviceConsumerDomain properties: accessTokenSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -307,13 +285,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object clientSecretSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -326,13 +304,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object clientTokenSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -345,14 +323,19 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object serviceConsumerDomain: type: string + required: + - accessTokenSecretRef + - clientSecretSecretRef + - clientTokenSecretRef + - serviceConsumerDomain + type: object azureDNS: description: Use the Microsoft Azure DNS API to manage DNS01 challenge records. - type: object - required: - - resourceGroupName - - subscriptionID properties: clientID: description: |- @@ -365,9 +348,6 @@ spec: Auth: Azure Service Principal: A reference to a Secret containing the password associated with the Service Principal. If set, ClientID and TenantID must also be set. - type: object - required: - - name properties: key: description: |- @@ -380,14 +360,17 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object environment: description: name of the Azure environment (default AzurePublicCloud) - type: string enum: - AzurePublicCloud - AzureChinaCloud - AzureGermanCloud - AzureUSGovernmentCloud + type: string hostedZoneName: description: name of the DNS zone that should be used type: string @@ -396,7 +379,6 @@ spec: Auth: Azure Workload Identity or Azure Managed Service Identity: Settings to enable Azure Workload Identity or Azure Managed Service Identity If set, ClientID, ClientSecret and TenantID must not be set. - type: object properties: clientID: description: client ID of the managed identity, cannot be used at the same time as resourceID @@ -409,6 +391,7 @@ spec: tenantID: description: tenant ID of the managed identity, cannot be used at the same time as resourceID type: string + type: object resourceGroupName: description: resource group the DNS zone is located in type: string @@ -421,11 +404,12 @@ spec: The TenantID of the Azure Service Principal used to authenticate with Azure DNS. If set, ClientID and ClientSecret must also be set. type: string + required: + - resourceGroupName + - subscriptionID + type: object cloudDNS: description: Use the Google Cloud DNS API to manage DNS01 challenge records. - type: object - required: - - project properties: hostedZoneName: description: |- @@ -439,9 +423,6 @@ spec: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -454,18 +435,20 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - project + type: object cloudflare: description: Use the Cloudflare API to manage DNS01 challenge records. - type: object properties: apiKeySecretRef: description: |- API key to use to authenticate with Cloudflare. Note: using an API token to authenticate is now the recommended method as it allows greater control of permissions. - type: object - required: - - name properties: key: description: |- @@ -478,11 +461,11 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string - apiTokenSecretRef: - description: API token used to authenticate with Cloudflare. - type: object required: - name + type: object + apiTokenSecretRef: + description: API token used to authenticate with Cloudflare. properties: key: description: |- @@ -495,30 +478,28 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object email: description: Email of the account, only required when using API key based authentication. type: string + type: object cnameStrategy: description: |- CNAMEStrategy configures how the DNS01 provider should handle CNAME records when found in DNS zones. - type: string enum: - None - Follow + type: string digitalocean: description: Use the DigitalOcean DNS API to manage DNS01 challenge records. - type: object - required: - - tokenSecretRef properties: tokenSecretRef: description: |- A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field. - type: object - required: - - name properties: key: description: |- @@ -531,13 +512,16 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - tokenSecretRef + type: object rfc2136: description: |- Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/) to manage DNS01 challenge records. - type: object - required: - - nameserver properties: nameserver: description: |- @@ -546,6 +530,12 @@ spec: enclosed in square brackets (e.g [2001:db8::1]) ; port is optional. This field is required. type: string + protocol: + description: Protocol to use for dynamic DNS update queries. Valid values are (case-sensitive) ``TCP`` and ``UDP``; ``UDP`` (default). + enum: + - TCP + - UDP + type: string tsigAlgorithm: description: |- The TSIG Algorithm configured in the DNS supporting RFC2136. Used only @@ -562,9 +552,6 @@ spec: description: |- The name of the secret containing the TSIG value. If ``tsigKeyName`` is defined, this field is required. - type: object - required: - - name properties: key: description: |- @@ -577,9 +564,14 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - nameserver + type: object route53: description: Use the AWS Route53 API to manage DNS01 challenge records. - type: object properties: accessKeyID: description: |- @@ -597,9 +589,6 @@ spec: If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials - type: object - required: - - name properties: key: description: |- @@ -612,28 +601,22 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object auth: description: Auth configures how cert-manager authenticates. - type: object - required: - - kubernetes properties: kubernetes: description: |- Kubernetes authenticates with Route53 using AssumeRoleWithWebIdentity by passing a bound ServiceAccount token. - type: object - required: - - serviceAccountRef properties: serviceAccountRef: description: |- A reference to a service account that will be used to request a bound token (also known as "projected token"). To use this field, you must configure an RBAC rule to let cert-manager request a token. - type: object - required: - - name properties: audiences: description: |- @@ -641,12 +624,22 @@ spec: token passed to AWS. The default token consisting of the issuer's namespace and name is always included. If unset the audience defaults to `sts.amazonaws.com`. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic name: description: Name of the ServiceAccount used to request a token. type: string + required: + - name + type: object + required: + - serviceAccountRef + type: object + required: + - kubernetes + type: object hostedZoneID: description: If set, the provider will manage only this zone in Route53 and will not do a lookup using the route53:ListHostedZonesByName api call. type: string @@ -686,9 +679,6 @@ spec: If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials - type: object - required: - - name properties: key: description: |- @@ -701,14 +691,14 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + type: object webhook: description: |- Configure an external webhook based DNS01 challenge solver to manage DNS01 challenge records. - type: object - required: - - groupName - - solverName properties: config: description: |- @@ -734,13 +724,17 @@ spec: implementation. This will typically be the name of the provider, e.g., 'cloudflare'. type: string + required: + - groupName + - solverName + type: object + type: object http01: description: |- Configures cert-manager to attempt to complete authorizations by performing the HTTP01 challenge flow. It is not possible to obtain certificates for wildcard domain names (e.g., `*.example.com`) using the HTTP01 challenge mechanism. - type: object properties: gatewayHTTPRoute: description: |- @@ -748,22 +742,20 @@ spec: in Kubernetes (https://gateway-api.sigs.k8s.io/). The Gateway solver will create HTTPRoutes with the specified labels in the same namespace as the challenge. This solver is experimental, and fields / behaviour may change in the future. - type: object properties: labels: + additionalProperties: + type: string description: |- Custom labels that will be applied to HTTPRoutes created by cert-manager while solving HTTP-01 challenges. type: object - additionalProperties: - type: string parentRefs: description: |- When solving an HTTP-01 challenge, cert-manager creates an HTTPRoute. cert-manager needs to know which parentRefs should be used when creating the HTTPRoute. Usually, the parentRef references a Gateway. See: https://gateway-api.sigs.k8s.io/api-types/httproute/#attaching-to-gateways - type: array items: description: |- ParentReference identifies an API object (usually a Gateway) that can be considered @@ -778,11 +770,9 @@ spec: The API object must be valid in the cluster; the Group and Kind must be registered in the cluster for this reference to be valid. - type: object - required: - - name properties: group: + default: gateway.networking.k8s.io description: |- Group is the group of the referent. When unspecified, "gateway.networking.k8s.io" is inferred. @@ -790,11 +780,11 @@ spec: Group must be explicitly set to "" (empty string). Support: Core - type: string - default: gateway.networking.k8s.io maxLength: 253 pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string kind: + default: Gateway description: |- Kind is kind of the referent. @@ -804,19 +794,18 @@ spec: * Service (Mesh conformance profile, ClusterIP Services only) Support for other resources is Implementation-Specific. - type: string - default: Gateway maxLength: 63 minLength: 1 pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string name: description: |- Name is the name of the referent. Support: Core - type: string maxLength: 253 minLength: 1 + type: string namespace: description: |- Namespace is the namespace of the referent. When unspecified, this refers @@ -841,10 +830,10 @@ spec: Support: Core - type: string maxLength: 63 minLength: 1 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string port: description: |- Port is the network port this Route targets. It can be interpreted @@ -877,10 +866,10 @@ spec: the Route MUST be considered detached from the Gateway. Support: Extended - type: integer format: int32 maximum: 65535 minimum: 1 + type: integer sectionName: description: |- SectionName is the name of a section within the target resource. In the @@ -907,15 +896,19 @@ spec: Route MUST be considered detached from the Gateway. Support: Core - type: string maxLength: 253 minLength: 1 pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + type: object + type: array + x-kubernetes-list-type: atomic podTemplate: description: |- Optional pod template used to configure the ACME challenge solver pods used for HTTP01 challenges. - type: object properties: metadata: description: |- @@ -923,32 +916,29 @@ spec: Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values. - type: object properties: annotations: + additionalProperties: + type: string description: Annotations that should be added to the created ACME HTTP01 solver pods. type: object + labels: additionalProperties: type: string - labels: description: Labels that should be added to the created ACME HTTP01 solver pods. type: object - additionalProperties: - type: string + type: object spec: description: |- PodSpec defines overrides for the HTTP01 challenge solver pod. Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields. All other fields will be ignored. - type: object properties: affinity: description: If specified, the pod's scheduling constraints - type: object properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -961,31 +951,20 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. - type: array 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). - type: object - required: - - preference - - weight properties: preference: description: A node selector term, associated with the corresponding weight. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -1002,22 +981,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -1034,16 +1013,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic weight: description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - preference + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1052,31 +1042,21 @@ spec: If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. - type: object - required: - - nodeSelectorTerms properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. - type: array 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. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -1093,22 +1073,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -1125,17 +1105,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic + type: array x-kubernetes-list-type: atomic + required: + - nodeSelectorTerms + type: object x-kubernetes-map-type: atomic + type: object podAffinity: description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1148,37 +1138,23 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1194,19 +1170,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1218,10 +1200,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1233,10 +1214,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1245,19 +1225,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1273,19 +1247,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1293,9 +1273,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1305,12 +1285,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1321,7 +1309,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -1330,27 +1317,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1366,19 +1344,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1390,10 +1374,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1405,10 +1388,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1417,19 +1399,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1445,19 +1421,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1465,9 +1447,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1477,10 +1459,14 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object podAntiAffinity: description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1490,40 +1476,26 @@ spec: 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 through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + compute a sum by iterating through the elements of this field and subtracting + "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1539,19 +1511,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1563,10 +1541,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1578,10 +1555,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1590,19 +1566,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1618,19 +1588,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1638,9 +1614,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1650,12 +1626,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1666,7 +1650,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -1675,27 +1658,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1711,19 +1685,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -1735,10 +1715,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -1750,10 +1729,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -1762,19 +1740,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -1790,19 +1762,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -1810,9 +1788,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -1822,17 +1800,22 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object + type: object imagePullSecrets: description: If specified, the pod's imagePullSecrets - type: array items: description: |- LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. - type: object properties: name: + default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is @@ -1840,22 +1823,59 @@ spec: almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string - default: "" + type: object x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map nodeSelector: + additionalProperties: + type: string description: |- NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ type: object - additionalProperties: - type: string priorityClassName: description: If specified, the pod's priorityClassName. type: string + resources: + description: |- + If specified, the pod's resource requirements. + These values override the global resource configuration flags. + Note that when only specifying resource limits, ensure they are greater than or equal + to the corresponding global resource requests configured via controller flags + (--acme-http01-solver-resource-request-cpu, --acme-http01-solver-resource-request-memory). + Kubernetes will reject pod creation if limits are lower than requests, causing challenge failures. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + 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 the global values configured via controller flags. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object securityContext: description: If specified, the pod's security context - type: object properties: fsGroup: description: |- @@ -1869,8 +1889,8 @@ spec: If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer fsGroupChangePolicy: description: |- fsGroupChangePolicy defines behavior of changing ownership and permission of the volume @@ -1889,8 +1909,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer runAsNonRoot: description: |- Indicates that the container must run as a non-root user. @@ -1908,8 +1928,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer seLinuxOptions: description: |- The SELinux context to be applied to all containers. @@ -1918,7 +1938,6 @@ spec: both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: object properties: level: description: Level is SELinux level label that applies to the container. @@ -1932,13 +1951,11 @@ spec: user: description: User is a SELinux user label that applies to the container. type: string + type: object seccompProfile: description: |- The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. - type: object - required: - - type properties: localhostProfile: description: |- @@ -1956,6 +1973,9 @@ spec: RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. type: string + required: + - type + type: object supplementalGroups: description: |- A list of groups applied to the first process run in each container, in addition @@ -1965,22 +1985,18 @@ spec: defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. - type: array items: - type: integer format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic sysctls: description: |- Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. - type: array items: description: Sysctl defines a kernel parameter to be set - type: object - required: - - name - - value properties: name: description: Name of a property to set @@ -1988,17 +2004,22 @@ spec: value: description: Value of a property to set type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + type: object serviceAccountName: description: If specified, the pod's service account type: string tolerations: description: If specified, the pod's tolerations. - type: array items: description: |- The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . - type: object properties: effect: description: |- @@ -2023,25 +2044,30 @@ spec: of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. - type: integer format: int64 + type: integer value: description: |- Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. type: string + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object serviceType: description: |- Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort. type: string + type: object ingress: description: |- The ingress based HTTP01 challenge solver will solve challenges by creating or modifying Ingress resources in order to route requests for '/.well-known/acme-challenge/XYZ' to 'challenge solver' pods that are provisioned by cert-manager for each Challenge to be completed. - type: object properties: class: description: |- @@ -2061,7 +2087,6 @@ spec: description: |- Optional ingress template used to configure the ACME challenge solver ingress used for HTTP01 challenges. - type: object properties: metadata: description: |- @@ -2069,18 +2094,19 @@ spec: Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values. - type: object properties: annotations: + additionalProperties: + type: string description: Annotations that should be added to the created ACME HTTP01 solver ingress. type: object + labels: additionalProperties: type: string - labels: description: Labels that should be added to the created ACME HTTP01 solver ingress. type: object - additionalProperties: - type: string + type: object + type: object name: description: |- The name of the ingress resource that should have ACME challenge solving @@ -2094,7 +2120,6 @@ spec: description: |- Optional pod template used to configure the ACME challenge solver pods used for HTTP01 challenges. - type: object properties: metadata: description: |- @@ -2102,32 +2127,29 @@ spec: Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values. - type: object properties: annotations: + additionalProperties: + type: string description: Annotations that should be added to the created ACME HTTP01 solver pods. type: object + labels: additionalProperties: type: string - labels: description: Labels that should be added to the created ACME HTTP01 solver pods. type: object - additionalProperties: - type: string + type: object spec: description: |- PodSpec defines overrides for the HTTP01 challenge solver pod. Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields. All other fields will be ignored. - type: object properties: affinity: description: If specified, the pod's scheduling constraints - type: object properties: nodeAffinity: description: Describes node affinity scheduling rules for the pod. - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2140,31 +2162,20 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. - type: array 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). - type: object - required: - - preference - - weight properties: preference: description: A node selector term, associated with the corresponding weight. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -2181,22 +2192,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: - description: |- - A node selector requirement is a selector that contains values, a key, and an operator - that relates the key and values. - type: object - required: - - key - - operator + 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. @@ -2213,16 +2224,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic weight: description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - preference + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2231,31 +2253,21 @@ spec: If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. - type: object - required: - - nodeSelectorTerms properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. - type: array 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. - type: object properties: matchExpressions: description: A list of node selector requirements by node's labels. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -2272,22 +2284,22 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchFields: description: A list of node selector requirements by node's fields. - type: array items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: The label key that the selector applies to. @@ -2304,17 +2316,27 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic + type: object x-kubernetes-map-type: atomic + type: array x-kubernetes-list-type: atomic + required: + - nodeSelectorTerms + type: object x-kubernetes-map-type: atomic + type: object podAffinity: description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2327,37 +2349,23 @@ spec: compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2373,19 +2381,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2397,10 +2411,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2412,10 +2425,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2424,19 +2436,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2452,19 +2458,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2472,9 +2484,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -2484,12 +2496,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2500,7 +2520,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -2509,27 +2528,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2545,19 +2555,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2569,10 +2585,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2584,10 +2599,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2596,19 +2610,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2624,19 +2632,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2644,9 +2658,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -2656,10 +2670,14 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object podAntiAffinity: description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). - type: object properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2669,40 +2687,26 @@ spec: 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 through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + compute a sum by iterating through the elements of this field and subtracting + "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. - type: array items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) - type: object - required: - - podAffinityTerm - - weight properties: podAffinityTerm: description: Required. A pod affinity term, associated with the corresponding weight. - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2718,19 +2722,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2742,10 +2752,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2757,10 +2766,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2769,19 +2777,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2797,19 +2799,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2817,9 +2825,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -2829,12 +2837,20 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object weight: description: |- weight associated with matching the corresponding podAffinityTerm, in the range 1-100. - type: integer format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2845,7 +2861,6 @@ spec: 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 intersected, i.e. all terms must be satisfied. - type: array items: description: |- Defines a set of pods (namely those matching the labelSelector @@ -2854,27 +2869,18 @@ spec: where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running - type: object - required: - - topologyKey properties: labelSelector: description: |- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2890,19 +2896,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic matchLabelKeys: description: |- @@ -2914,10 +2926,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic mismatchLabelKeys: description: |- @@ -2929,10 +2940,9 @@ spec: pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. - This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default). - type: array items: type: string + type: array x-kubernetes-list-type: atomic namespaceSelector: description: |- @@ -2941,19 +2951,13 @@ spec: and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. - type: object properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - type: array items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - type: object - required: - - key - - operator properties: key: description: key is the label key that the selector applies to. @@ -2969,19 +2973,25 @@ spec: 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. - type: array items: type: string + type: array x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string 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 - additionalProperties: - type: string + type: object x-kubernetes-map-type: atomic namespaces: description: |- @@ -2989,9 +2999,9 @@ spec: 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". - type: array items: type: string + type: array x-kubernetes-list-type: atomic topologyKey: description: |- @@ -3001,17 +3011,22 @@ spec: selected pods is running. Empty topologyKey is not allowed. type: string + required: + - topologyKey + type: object + type: array x-kubernetes-list-type: atomic + type: object + type: object imagePullSecrets: description: If specified, the pod's imagePullSecrets - type: array items: description: |- LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. - type: object properties: name: + default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is @@ -3019,22 +3034,59 @@ spec: almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string - default: "" + type: object x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map nodeSelector: + additionalProperties: + type: string description: |- NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ type: object - additionalProperties: - type: string priorityClassName: description: If specified, the pod's priorityClassName. type: string + resources: + description: |- + If specified, the pod's resource requirements. + These values override the global resource configuration flags. + Note that when only specifying resource limits, ensure they are greater than or equal + to the corresponding global resource requests configured via controller flags + (--acme-http01-solver-resource-request-cpu, --acme-http01-solver-resource-request-memory). + Kubernetes will reject pod creation if limits are lower than requests, causing challenge failures. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + 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 the global values configured via controller flags. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object securityContext: description: If specified, the pod's security context - type: object properties: fsGroup: description: |- @@ -3048,8 +3100,8 @@ spec: If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer fsGroupChangePolicy: description: |- fsGroupChangePolicy defines behavior of changing ownership and permission of the volume @@ -3068,8 +3120,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer runAsNonRoot: description: |- Indicates that the container must run as a non-root user. @@ -3087,8 +3139,8 @@ spec: PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: integer format: int64 + type: integer seLinuxOptions: description: |- The SELinux context to be applied to all containers. @@ -3097,7 +3149,6 @@ spec: both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. - type: object properties: level: description: Level is SELinux level label that applies to the container. @@ -3111,13 +3162,11 @@ spec: user: description: User is a SELinux user label that applies to the container. type: string + type: object seccompProfile: description: |- The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. - type: object - required: - - type properties: localhostProfile: description: |- @@ -3135,6 +3184,9 @@ spec: RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. type: string + required: + - type + type: object supplementalGroups: description: |- A list of groups applied to the first process run in each container, in addition @@ -3144,22 +3196,18 @@ spec: defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. - type: array items: - type: integer format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic sysctls: description: |- Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. - type: array items: description: Sysctl defines a kernel parameter to be set - type: object - required: - - name - - value properties: name: description: Name of a property to set @@ -3167,17 +3215,22 @@ spec: value: description: Value of a property to set type: string + required: + - name + - value + type: object + type: array + x-kubernetes-list-type: atomic + type: object serviceAccountName: description: If specified, the pod's service account type: string tolerations: description: If specified, the pod's tolerations. - type: array items: description: |- The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . - type: object properties: effect: description: |- @@ -3202,18 +3255,25 @@ spec: of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. - type: integer format: int64 + type: integer value: description: |- Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. type: string + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object serviceType: description: |- Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort. type: string + type: object + type: object selector: description: |- Selector selects a set of DNSNames on the Certificate resource that @@ -3221,7 +3281,6 @@ spec: If not specified, the solver will be treated as the 'default' solver with the lowest priority, i.e. if any other solver has a more specific match, it will be used instead. - type: object properties: dnsNames: description: |- @@ -3232,9 +3291,10 @@ spec: with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic dnsZones: description: |- List of DNSZones that this solver will be used to solve. @@ -3246,41 +3306,49 @@ spec: with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic matchLabels: + additionalProperties: + type: string description: |- A label selector that is used to refine the set of certificate's that this challenge solver will apply to. type: object - additionalProperties: - type: string + type: object + type: object + type: array + x-kubernetes-list-type: atomic + required: + - privateKeySecretRef + - server + type: object ca: description: |- CA configures this issuer to sign certificates using a signing CA keypair stored in a Secret resource. This is used to build internal PKIs that are managed by cert-manager. - type: object - required: - - secretName properties: crlDistributionPoints: description: |- The CRL distribution points is an X.509 v3 certificate extension which identifies the location of the CRL from which the revocation of this certificate can be checked. If not set, certificates will be issued without distribution points set. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic issuingCertificateURLs: description: |- IssuingCertificateURLs is a list of URLs which this issuer should embed into certificates it creates. See https://www.rfc-editor.org/rfc/rfc5280#section-4.2.2.1 for more details. As an example, such a URL might be "http://ca.domain.com/ca.crt". - type: array items: type: string + type: array + x-kubernetes-list-type: atomic ocspServers: description: |- The OCSP server list is an X.509 v3 extension that defines a list of @@ -3288,51 +3356,45 @@ spec: revocation status of an issued certificate. If not set, the certificate will be issued with no OCSP servers set. For example, an OCSP server URL could be "http://ocsp.int-x3.letsencrypt.org". - type: array items: type: string + type: array + x-kubernetes-list-type: atomic secretName: description: |- SecretName is the name of the secret used to sign Certificates issued by this Issuer. type: string + required: + - secretName + type: object selfSigned: description: |- SelfSigned configures this issuer to 'self sign' certificates using the private key used to create the CertificateRequest object. - type: object properties: crlDistributionPoints: description: |- The CRL distribution points is an X.509 v3 certificate extension which identifies the location of the CRL from which the revocation of this certificate can be checked. If not set certificate will be issued without CDP. Values are strings. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic + type: object vault: description: |- Vault configures this issuer to sign certificates using a HashiCorp Vault PKI backend. - type: object - required: - - auth - - path - - server properties: auth: description: Auth configures how cert-manager authenticates with the Vault server. - type: object properties: appRole: description: |- AppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource. - type: object - required: - - path - - roleId - - secretRef properties: path: description: |- @@ -3350,9 +3412,6 @@ spec: to authenticate with Vault. The `key` field must be specified and denotes which entry within the Secret resource is used as the app role secret. - type: object - required: - - name properties: key: description: |- @@ -3365,12 +3424,19 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + required: + - path + - roleId + - secretRef + type: object clientCertificate: description: |- ClientCertificate authenticates with Vault by presenting a client certificate during the request's TLS handshake. Works only when using HTTPS protocol. - type: object properties: mountPath: description: |- @@ -3390,13 +3456,11 @@ spec: tls.crt and tls.key) used to authenticate to Vault using TLS client authentication. type: string + type: object kubernetes: description: |- Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server. - type: object - required: - - role properties: mountPath: description: |- @@ -3415,9 +3479,6 @@ spec: The required Secret field containing a Kubernetes ServiceAccount JWT used for authenticating with Vault. Use of 'ambient credentials' is not supported. - type: object - required: - - name properties: key: description: |- @@ -3430,6 +3491,9 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object serviceAccountRef: description: |- A reference to a service account that will be used to request a bound @@ -3437,25 +3501,26 @@ spec: using this field means that you don't rely on statically bound tokens. To use this field, you must configure an RBAC rule to let cert-manager request a token. - type: object - required: - - name properties: audiences: description: |- TokenAudiences is an optional list of extra audiences to include in the token passed to Vault. The default token consisting of the issuer's namespace and name is always included. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic name: description: Name of the ServiceAccount used to request a token. type: string + required: + - name + type: object + required: + - role + type: object tokenSecretRef: description: TokenSecretRef authenticates with Vault by presenting a token. - type: object - required: - - name properties: key: description: |- @@ -3468,6 +3533,10 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object + type: object caBundle: description: |- Base64-encoded bundle of PEM CAs which will be used to validate the certificate @@ -3476,8 +3545,8 @@ spec: Mutually exclusive with CABundleSecretRef. If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in the cert-manager controller container is used to validate the TLS connection. - type: string format: byte + type: string caBundleSecretRef: description: |- Reference to a Secret containing a bundle of PEM-encoded CAs to use when @@ -3486,9 +3555,6 @@ spec: If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in the cert-manager controller container is used to validate the TLS connection. If no key for the Secret is specified, cert-manager will default to 'ca.crt'. - type: object - required: - - name properties: key: description: |- @@ -3501,13 +3567,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object clientCertSecretRef: description: |- Reference to a Secret containing a PEM-encoded Client Certificate to use when the Vault server requires mTLS. - type: object - required: - - name properties: key: description: |- @@ -3520,13 +3586,13 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object clientKeySecretRef: description: |- Reference to a Secret containing a PEM-encoded Client Private Key to use when the Vault server requires mTLS. - type: object - required: - - name properties: key: description: |- @@ -3539,6 +3605,9 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object namespace: description: |- Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: "ns1" @@ -3557,27 +3626,23 @@ spec: ServerName is used to verify the hostname on the returned certificates by the Vault server. type: string + required: + - auth + - path + - server + type: object venafi: description: |- Venafi configures this issuer to sign certificates using a Venafi TPP or Venafi Cloud policy zone. - type: object - required: - - zone properties: cloud: description: |- Cloud specifies the Venafi cloud configuration settings. Only one of TPP or Cloud may be specified. - type: object - required: - - apiTokenSecretRef properties: apiTokenSecretRef: description: APITokenSecretRef is a secret key selector for the Venafi Cloud API token. - type: object - required: - - name properties: key: description: |- @@ -3590,19 +3655,21 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object url: description: |- URL is the base URL for Venafi Cloud. Defaults to "https://api.venafi.cloud/". type: string + required: + - apiTokenSecretRef + type: object tpp: description: |- TPP specifies Trust Protection Platform configuration settings. Only one of TPP or Cloud may be specified. - type: object - required: - - credentialsRef - - url properties: caBundle: description: |- @@ -3610,8 +3677,8 @@ spec: chain presented by the TPP server. Only used if using HTTPS; ignored for HTTP. If undefined, the certificate bundle in the cert-manager controller container is used to validate the chain. - type: string format: byte + type: string caBundleSecretRef: description: |- Reference to a Secret containing a base64-encoded bundle of PEM CAs @@ -3619,9 +3686,6 @@ spec: Only used if using HTTPS; ignored for HTTP. Mutually exclusive with CABundle. If neither CABundle nor CABundleSecretRef is defined, the certificate bundle in the cert-manager controller container is used to validate the TLS connection. - type: object - required: - - name properties: key: description: |- @@ -3634,25 +3698,32 @@ spec: Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object credentialsRef: description: |- CredentialsRef is a reference to a Secret containing the Venafi TPP API credentials. The secret must contain the key 'access-token' for the Access Token Authentication, or two keys, 'username' and 'password' for the API Keys Authentication. - type: object - required: - - name properties: name: description: |- Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string + required: + - name + type: object url: description: |- URL is the base URL for the vedsdk endpoint of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk". type: string + required: + - credentialsRef + - url + type: object zone: description: |- Zone is the Venafi Policy Zone to use for this issuer. @@ -3660,16 +3731,18 @@ spec: zone policy. This field is required. type: string + required: + - zone + type: object + type: object status: description: Status of the Issuer. This is set and managed automatically. - type: object properties: acme: description: |- ACME specific status options. This field should only be set if the Issuer is configured to use an ACME server to issue certificates. - type: object properties: lastPrivateKeyHash: description: |- @@ -3688,24 +3761,20 @@ spec: URI is the unique account identifier, which can also be used to retrieve account details from the CA type: string + type: object conditions: description: |- List of status conditions to indicate the status of a CertificateRequest. Known condition types are `Ready`. - type: array items: description: IssuerCondition contains condition information for an Issuer. - type: object - required: - - status - - type properties: lastTransitionTime: description: |- LastTransitionTime is the timestamp corresponding to the last status change of this condition. - type: string format: date-time + type: string message: description: |- Message is a human readable description of the details of the last @@ -3718,8 +3787,8 @@ spec: For instance, if .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date with respect to the current state of the Issuer. - type: integer format: int64 + type: integer reason: description: |- Reason is a brief machine readable explanation for the condition's last @@ -3727,16 +3796,27 @@ spec: type: string status: description: Status of the condition, one of (`True`, `False`, `Unknown`). - type: string enum: - "True" - "False" - Unknown + type: string type: description: Type of the condition, known values are (`Ready`). type: string + required: + - status + - type + type: object + type: array x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + type: object + required: + - spec + type: object served: true storage: true + subresources: + status: {} diff --git a/modules/security/cert-manager/base/crds/orders.acme.cert-manager.io.yaml b/modules/security/cert-manager/base/crds/orders.acme.cert-manager.io.yaml index 3f34e2d6..1e2cd997 100644 --- a/modules/security/cert-manager/base/crds/orders.acme.cert-manager.io.yaml +++ b/modules/security/cert-manager/base/crds/orders.acme.cert-manager.io.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.18.3/cert-manager.crds.yaml +# Source: https://github.com/cert-manager/cert-manager/releases/download/v1.19.2/cert-manager.crds.yaml --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -21,19 +21,16 @@ metadata: spec: group: acme.cert-manager.io names: + categories: + - cert-manager + - cert-manager-acme kind: Order listKind: OrderList plural: orders singular: order - categories: - - cert-manager - - cert-manager-acme scope: Namespaced versions: - - name: v1 - subresources: - status: {} - additionalPrinterColumns: + - additionalPrinterColumns: - jsonPath: .status.state name: State type: string @@ -45,17 +42,14 @@ spec: name: Reason priority: 1 type: string - - jsonPath: .metadata.creationTimestamp - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + jsonPath: .metadata.creationTimestamp name: Age type: date + name: v1 schema: openAPIV3Schema: description: Order is a type to represent an Order with an ACME server - type: object - required: - - metadata - - spec properties: apiVersion: description: |- @@ -75,10 +69,6 @@ spec: metadata: type: object spec: - type: object - required: - - issuerRef - - request properties: commonName: description: |- @@ -91,9 +81,10 @@ spec: DNSNames is a list of DNS names that should be included as part of the Order validation process. This field must match the corresponding field on the DER encoded CSR. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic duration: description: |- Duration is the duration for the not after date for the requested certificate. @@ -104,9 +95,10 @@ spec: IPAddresses is a list of IP addresses that should be included as part of the Order validation process. This field must match the corresponding field on the DER encoded CSR. - type: array items: type: string + type: array + x-kubernetes-list-type: atomic issuerRef: description: |- IssuerRef references a properly configured ACME-type Issuer which should @@ -114,19 +106,23 @@ spec: If the Issuer does not exist, processing will be retried. If the Issuer is not an 'ACME' Issuer, an error will be returned and the Order will be marked as failed. - type: object - required: - - name properties: group: - description: Group of the resource being referred to. + description: |- + Group of the issuer being referred to. + Defaults to 'cert-manager.io'. type: string kind: - description: Kind of the resource being referred to. + description: |- + Kind of the issuer being referred to. + Defaults to 'Issuer'. type: string name: - description: Name of the resource being referred to. + description: Name of the issuer being referred to. type: string + required: + - name + type: object profile: description: |- Profile allows requesting a certificate profile from the ACME server. @@ -137,25 +133,24 @@ spec: Certificate signing request bytes in DER encoding. This will be used when finalizing the order. This field must be set on the order. - type: string format: byte - status: + type: string + required: + - issuerRef + - request type: object + status: properties: authorizations: description: |- Authorizations contains data returned from the ACME server on what authorizations must be completed in order to validate the DNS names specified on the Order. - type: array items: description: |- ACMEAuthorization contains data returned from the ACME server on an authorization that must be completed in order validate a DNS name on an ACME Order resource. - type: object - required: - - url properties: challenges: description: |- @@ -163,17 +158,11 @@ spec: One of these challenge types will be selected when validating the DNS name and an appropriate Challenge resource will be created to perform the ACME challenge process. - type: array items: description: |- Challenge specifies a challenge offered by the ACME server for an Order. An appropriate Challenge resource can be created to perform the ACME challenge process. - type: object - required: - - token - - type - - url properties: token: description: |- @@ -193,6 +182,13 @@ spec: URL is the URL of this challenge. It can be used to retrieve additional metadata about the Challenge from the ACME server. type: string + required: + - token + - type + - url + type: object + type: array + x-kubernetes-list-type: atomic identifier: description: Identifier is the DNS name to be validated as part of this authorization type: string @@ -206,7 +202,6 @@ spec: Encrypt's production endpoint). If not set and 'identifier' is set, the state is assumed to be pending and a Challenge will be created. - type: string enum: - valid - ready @@ -215,6 +210,7 @@ spec: - invalid - expired - errored + type: string url: description: URL is the URL of the Authorization that must be completed type: string @@ -226,20 +222,25 @@ spec: For example, if '*.example.com' is the DNS name being validated, this field will be 'true' and the 'identifier' field will be 'example.com'. type: boolean + required: + - url + type: object + type: array + x-kubernetes-list-type: atomic certificate: description: |- Certificate is a copy of the PEM encoded certificate for this Order. This field will be populated after the order has been successfully finalized with the ACME server, and the order has transitioned to the 'valid' state. - type: string format: byte + type: string failureTime: description: |- FailureTime stores the time that this order failed. This is used to influence garbage collection and back-off. - type: string format: date-time + type: string finalizeURL: description: |- FinalizeURL of the Order. @@ -254,7 +255,6 @@ spec: description: |- State contains the current state of this Order resource. States 'success' and 'expired' are 'final' - type: string enum: - valid - ready @@ -263,6 +263,7 @@ spec: - invalid - expired - errored + type: string url: description: |- URL of the Order. @@ -270,5 +271,12 @@ spec: The Order controller will populate this field when the Order is first processed. This field will be immutable after it is initially set. type: string + type: object + required: + - metadata + - spec + type: object served: true storage: true + subresources: + status: {} diff --git a/modules/security/cert-manager/base/resources/kustomization.yaml b/modules/security/cert-manager/base/resources/kustomization.yaml index f25404a2..37b65470 100644 --- a/modules/security/cert-manager/base/resources/kustomization.yaml +++ b/modules/security/cert-manager/base/resources/kustomization.yaml @@ -7,17 +7,17 @@ labels: app.kubernetes.io/component: cert-manager images: - name: quay.io/jetstack/cert-manager-cainjector - newTag: v1.18.3 - digest: sha256:55abd4d5edafa5e6c0e77cfbefbb5068b68fd0b4bc1e983f04e133d1846f23ad + newTag: v1.19.2 + digest: sha256:1a24f9848e7ae83a787187f4e75fdf5e9adf401f44de2f156c09c6fae1bf046e - name: quay.io/jetstack/cert-manager-controller - newTag: v1.18.3 - digest: sha256:dc9d9cb1f27dcedd9e0c637e288c4dd409cb16865c3563f305f3a130e8a7f78b + newTag: v1.19.2 + digest: sha256:d4ffb81a6d89a0e690ee80d07fcdcb6cccb99118010e3eb0808442e506e18ab0 - name: quay.io/jetstack/cert-manager-webhook - newTag: v1.18.3 - digest: sha256:814eef7ecf3cf86e8b43e3cdf68e5266c38156c82012509cb25dac46a9d1f23c + newTag: v1.19.2 + digest: sha256:2ba4918d1581ed29bd5d68a017244560b353bcaf9932c814a8713887589bda6c - name: quay.io/jetstack/cert-manager-acmesolver - newTag: v1.18.3 - digest: sha256:2e786d7384dae4d80fddccebe2f1a7d3162bb27dedb2318ec64dea9b4d19f261 + newTag: v1.19.2 + digest: sha256:cd353aa4ad8ec5dbcc64f454599611c8201a2b23f67720978140800999129b62 resources: - configs - rbac From 5b31eb5684b3e007cf940721dd78eb7b87464e06 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 16:24:00 +0100 Subject: [PATCH 15/19] feat: update kyverno version in security module --- modules/security/kyverno/CHANGELOG.md | 12 +- modules/security/kyverno/README.md | 3 +- .../base/crds/cleanuppolicies.kyverno.io.yaml | 2 +- .../clustercleanuppolicies.kyverno.io.yaml | 2 +- ...erephemeralreports.reports.kyverno.io.yaml | 2 +- .../base/crds/clusterpolicies.kyverno.io.yaml | 22 +- .../clusterpolicyreports.wgpolicyk8s.io.yaml | 2 +- .../deletingpolicies.policies.kyverno.io.yaml | 554 +++- .../ephemeralreports.reports.kyverno.io.yaml | 2 +- ...eneratingpolicies.policies.kyverno.io.yaml | 620 ++++- .../crds/globalcontextentries.kyverno.io.yaml | 255 +- ...alidatingpolicies.policies.kyverno.io.yaml | 2348 ++++++++++++++++- .../kyverno/base/crds/kustomization.yaml | 3 + .../mutatingpolicies.policies.kyverno.io.yaml | 1982 +++++++++++++- ...ddeletingpolicies.policies.kyverno.io.yaml | 572 ++++ ...alidatingpolicies.policies.kyverno.io.yaml | 2314 ++++++++++++++++ ...alidatingpolicies.policies.kyverno.io.yaml | 1582 +++++++++++ .../base/crds/policies.kyverno.io.yaml | 22 +- .../crds/policyexceptions.kyverno.io.yaml | 2 +- .../policyexceptions.policies.kyverno.io.yaml | 138 +- .../crds/policyreports.wgpolicyk8s.io.yaml | 2 +- .../base/crds/updaterequests.kyverno.io.yaml | 4 +- ...alidatingpolicies.policies.kyverno.io.yaml | 1624 +++++++++++- .../kyverno/base/resources/kustomization.yaml | 20 +- .../rbac/aggregate-to-cluster-reader.yaml | 3 + .../configs/metrics-exposure.json | 24 + .../rbac/clusterrole-defaults.yaml | 28 +- .../rbac/clusterrole-defaults.yaml | 22 + .../rbac/clusterrole-core.yaml | 2 + .../kyverno-cleanup/workloads/deployment.yaml | 1 - .../rbac/clusterrole-core.yaml | 4 + 31 files changed, 12106 insertions(+), 67 deletions(-) create mode 100644 modules/security/kyverno/base/crds/namespaceddeletingpolicies.policies.kyverno.io.yaml create mode 100644 modules/security/kyverno/base/crds/namespacedimagevalidatingpolicies.policies.kyverno.io.yaml create mode 100644 modules/security/kyverno/base/crds/namespacedvalidatingpolicies.policies.kyverno.io.yaml diff --git a/modules/security/kyverno/CHANGELOG.md b/modules/security/kyverno/CHANGELOG.md index 64acea6d..9d10ccae 100644 --- a/modules/security/kyverno/CHANGELOG.md +++ b/modules/security/kyverno/CHANGELOG.md @@ -7,14 +7,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v1.33.1 - -### Changed - -- update kyverno to v1.15.2 - -## v1.33.0 - -### Changed - -- update kyverno to v1.15.1 +- update kyverno to v1.16.1 diff --git a/modules/security/kyverno/README.md b/modules/security/kyverno/README.md index a6c5ed4e..0ead76e0 100644 --- a/modules/security/kyverno/README.md +++ b/modules/security/kyverno/README.md @@ -93,8 +93,7 @@ This module use the following user, gid and fsGroup: | Module Version | Tool Version | |----------------|----------------| -| 1.33.0 | 1.15.1 | -| 1.33.1 | 1.15.2 | +| 1.34.x | 1.16.1 | ## User customization diff --git a/modules/security/kyverno/base/crds/cleanuppolicies.kyverno.io.yaml b/modules/security/kyverno/base/crds/cleanuppolicies.kyverno.io.yaml index 892a15a8..f6406e83 100644 --- a/modules/security/kyverno/base/crds/cleanuppolicies.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/cleanuppolicies.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: cleanuppolicies.kyverno.io spec: group: kyverno.io diff --git a/modules/security/kyverno/base/crds/clustercleanuppolicies.kyverno.io.yaml b/modules/security/kyverno/base/crds/clustercleanuppolicies.kyverno.io.yaml index 6d42066e..0612a0c8 100644 --- a/modules/security/kyverno/base/crds/clustercleanuppolicies.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/clustercleanuppolicies.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: clustercleanuppolicies.kyverno.io spec: group: kyverno.io diff --git a/modules/security/kyverno/base/crds/clusterephemeralreports.reports.kyverno.io.yaml b/modules/security/kyverno/base/crds/clusterephemeralreports.reports.kyverno.io.yaml index 152f6772..6f0a5707 100644 --- a/modules/security/kyverno/base/crds/clusterephemeralreports.reports.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/clusterephemeralreports.reports.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: clusterephemeralreports.reports.kyverno.io spec: group: reports.kyverno.io diff --git a/modules/security/kyverno/base/crds/clusterpolicies.kyverno.io.yaml b/modules/security/kyverno/base/crds/clusterpolicies.kyverno.io.yaml index 20a0f3d9..afca72e7 100644 --- a/modules/security/kyverno/base/crds/clusterpolicies.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/clusterpolicies.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: clusterpolicies.kyverno.io spec: group: kyverno.io @@ -4193,7 +4193,7 @@ spec: version: description: |- Version defines the Pod Security Standard versions that Kubernetes supports. - Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, latest. Defaults to latest. + Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, v1.30, v1.31, v1.32, latest. Defaults to latest. enum: - v1.19 - v1.20 @@ -4206,6 +4206,9 @@ spec: - v1.27 - v1.28 - v1.29 + - v1.30 + - v1.31 + - v1.32 - latest type: string type: object @@ -9326,7 +9329,7 @@ spec: version: description: |- Version defines the Pod Security Standard versions that Kubernetes supports. - Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, latest. Defaults to latest. + Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, v1.30, v1.31, v1.32, latest. Defaults to latest. enum: - v1.19 - v1.20 @@ -9339,6 +9342,9 @@ spec: - v1.27 - v1.28 - v1.29 + - v1.30 + - v1.31 + - v1.32 - latest type: string type: object @@ -14230,7 +14236,7 @@ spec: version: description: |- Version defines the Pod Security Standard versions that Kubernetes supports. - Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, latest. Defaults to latest. + Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, v1.30, v1.31, v1.32, latest. Defaults to latest. enum: - v1.19 - v1.20 @@ -14243,6 +14249,9 @@ spec: - v1.27 - v1.28 - v1.29 + - v1.30 + - v1.31 + - v1.32 - latest type: string type: object @@ -19332,7 +19341,7 @@ spec: version: description: |- Version defines the Pod Security Standard versions that Kubernetes supports. - Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, latest. Defaults to latest. + Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, v1.30, v1.31, v1.32, latest. Defaults to latest. enum: - v1.19 - v1.20 @@ -19345,6 +19354,9 @@ spec: - v1.27 - v1.28 - v1.29 + - v1.30 + - v1.31 + - v1.32 - latest type: string type: object diff --git a/modules/security/kyverno/base/crds/clusterpolicyreports.wgpolicyk8s.io.yaml b/modules/security/kyverno/base/crds/clusterpolicyreports.wgpolicyk8s.io.yaml index 547a9f77..f41daa58 100644 --- a/modules/security/kyverno/base/crds/clusterpolicyreports.wgpolicyk8s.io.yaml +++ b/modules/security/kyverno/base/crds/clusterpolicyreports.wgpolicyk8s.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: clusterpolicyreports.wgpolicyk8s.io spec: group: wgpolicyk8s.io diff --git a/modules/security/kyverno/base/crds/deletingpolicies.policies.kyverno.io.yaml b/modules/security/kyverno/base/crds/deletingpolicies.policies.kyverno.io.yaml index 853573d2..31f99cdf 100644 --- a/modules/security/kyverno/base/crds/deletingpolicies.policies.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/deletingpolicies.policies.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: deletingpolicies.policies.kyverno.io spec: group: policies.kyverno.io @@ -570,3 +570,555 @@ spec: storage: true subresources: status: {} + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .status.conditionStatus.ready + name: READY + type: string + name: v1beta1 + schema: + openAPIV3Schema: + 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 + 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 + metadata: + type: object + spec: + description: DeletingPolicySpec is the specification of the desired behavior + of the DeletingPolicy. + properties: + conditions: + description: |- + Conditions is a list of conditions that must be met for a resource to be deleted. + Conditions filter resources that have already been matched by the match constraints, + namespaceSelector, and objectSelector. An empty list of conditions matches all resources. + There are a maximum of 64 conditions allowed. + + The exact matching logic is (in order): + 1. If ANY condition evaluates to FALSE, the policy is skipped. + 2. If ALL conditions evaluate to TRUE, the policy is executed. + items: + description: MatchCondition represents a condition which must by + fulfilled for a request to be sent to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + deletionPropagationPolicy: + description: DeletionPropagationPolicy defines how resources will + be deleted (Foreground, Background, Orphan). + enum: + - Foreground + - Background + - Orphan + type: string + matchConstraints: + description: |- + MatchConstraints specifies what resources this policy is designed to validate. + The AdmissionPolicy cares about a request if it matches _all_ Constraints. + Required. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + schedule: + description: |- + The schedule in Cron format + Required. + type: string + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + The variables defined here will be available under `variables` in other expressions of the policy + except MatchConditions because MatchConditions are evaluated before the rest of the policy. + + The expression of a variable can refer to other variables defined earlier in the list but not those after. + Thus, Variables must be sorted by the order of first appearance and acyclic. + items: + description: Variable is the definition of a variable that is used + for composition. A variable is defined as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + required: + - schedule + type: object + status: + description: Status contains policy runtime data. + properties: + conditionStatus: + description: ConditionStatus is the shared status across all policy + types + properties: + conditions: + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + message: + description: |- + Message is a human readable message indicating details about the generation of ValidatingAdmissionPolicy/MutatingAdmissionPolicy + It is an empty string when ValidatingAdmissionPolicy/MutatingAdmissionPolicy is successfully generated. + type: string + ready: + description: |- + The ready of a policy is a high-level summary of where the policy is in its lifecycle. + The conditions array, the reason and message fields contain more detail about the policy's status. + type: boolean + type: object + lastExecutionTime: + format: date-time + type: string + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} diff --git a/modules/security/kyverno/base/crds/ephemeralreports.reports.kyverno.io.yaml b/modules/security/kyverno/base/crds/ephemeralreports.reports.kyverno.io.yaml index fde8051a..a51cf0eb 100644 --- a/modules/security/kyverno/base/crds/ephemeralreports.reports.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/ephemeralreports.reports.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: ephemeralreports.reports.kyverno.io spec: group: reports.kyverno.io diff --git a/modules/security/kyverno/base/crds/generatingpolicies.policies.kyverno.io.yaml b/modules/security/kyverno/base/crds/generatingpolicies.policies.kyverno.io.yaml index e981513f..f7c26d20 100644 --- a/modules/security/kyverno/base/crds/generatingpolicies.policies.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/generatingpolicies.policies.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: generatingpolicies.policies.kyverno.io spec: group: policies.kyverno.io @@ -121,8 +121,620 @@ spec: namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed. - If a parameter object is provided, it can be accessed via the `params` handle in the same - manner as validation expressions. + The exact matching logic is (in order): + 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. + 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated. + 3. If any matchCondition evaluates to an error (but none are FALSE): + - If failurePolicy=Fail, reject the request + - If failurePolicy=Ignore, the policy is skipped + items: + description: MatchCondition represents a condition which must by + fulfilled for a request to be sent to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + matchConstraints: + description: |- + MatchConstraints specifies what resources will trigger this policy. + The AdmissionPolicy cares about a request if it matches _all_ Constraints. + Required. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + The variables defined here will be available under `variables` in other expressions of the policy + except MatchConditions because MatchConditions are evaluated before the rest of the policy. + + The expression of a variable can refer to other variables defined earlier in the list but not those after. + Thus, Variables must be sorted by the order of first appearance and acyclic. + items: + description: Variable is the definition of a variable that is used + for composition. A variable is defined as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + webhookConfiguration: + description: WebhookConfiguration defines the configuration for the + webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + required: + - generate + type: object + status: + description: Status contains policy runtime data. + properties: + conditionStatus: + description: ConditionStatus is the shared status across all policy + types + properties: + conditions: + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + message: + description: |- + Message is a human readable message indicating details about the generation of ValidatingAdmissionPolicy/MutatingAdmissionPolicy + It is an empty string when ValidatingAdmissionPolicy/MutatingAdmissionPolicy is successfully generated. + type: string + ready: + description: |- + The ready of a policy is a high-level summary of where the policy is in its lifecycle. + The conditions array, the reason and message fields contain more detail about the policy's status. + type: boolean + type: object + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta1 + schema: + openAPIV3Schema: + 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 + 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 + metadata: + type: object + spec: + description: GeneratingPolicySpec is the specification of the desired + behavior of the GeneratingPolicy. + properties: + evaluation: + description: EvaluationConfiguration defines the configuration for + the policy evaluation. + properties: + admission: + description: Admission controls policy evaluation during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + generateExisting: + description: GenerateExisting defines the configuration for generating + resources for existing triggeres. + properties: + enabled: + default: false + description: |- + Enabled controls whether to trigger the policy for existing resources + If is set to "true" the policy will be triggered and applied to existing matched resources. + Optional. Defaults to "false" if not specified. + type: boolean + type: object + orphanDownstreamOnPolicyDelete: + description: OrphanDownstreamOnPolicyDelete defines the configuration + for orphaning downstream resources on policy delete. + properties: + enabled: + default: false + description: |- + Enabled controls whether generated resources should be deleted when the policy that generated + them is deleted with synchronization enabled. This option is only applicable to generate rules of the data type. + Optional. Defaults to "false" if not specified. + type: boolean + type: object + synchronize: + description: Synchronization defines the configuration for the + synchronization of generated resources. + properties: + enabled: + default: false + description: |- + Enabled controls if generated resources should be kept in-sync with their source resource. + If Synchronize is set to "true" changes to generated resources will be overwritten with resource + data from Data or the resource specified in the Clone declaration. + Optional. Defaults to "false" if not specified. + type: boolean + type: object + type: object + generate: + description: |- + Generation defines a set of CEL expressions that will be evaluated to generate resources. + Required. + items: + description: Generation defines the configuration for the generation + of resources. + properties: + expression: + description: Expression is a CEL expression that takes a list + of resources to be generated. + type: string + type: object + minItems: 1 + type: array + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. The exact matching logic is (in order): 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. @@ -633,6 +1245,6 @@ spec: - spec type: object served: true - storage: true + storage: false subresources: status: {} diff --git a/modules/security/kyverno/base/crds/globalcontextentries.kyverno.io.yaml b/modules/security/kyverno/base/crds/globalcontextentries.kyverno.io.yaml index 9f2efef5..b5c23d7c 100644 --- a/modules/security/kyverno/base/crds/globalcontextentries.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/globalcontextentries.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: globalcontextentries.kyverno.io spec: group: kyverno.io @@ -271,3 +271,256 @@ spec: storage: true subresources: status: {} + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .spec.apiCall.refreshInterval + name: REFRESH INTERVAL + type: string + - jsonPath: .status.lastRefreshTime + name: LAST REFRESH + type: date + name: v2beta1 + schema: + openAPIV3Schema: + description: GlobalContextEntry declares resources to be cached. + 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 + 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 + metadata: + type: object + spec: + description: Spec declares policy exception behaviors. + oneOf: + - required: + - kubernetesResource + - required: + - apiCall + properties: + apiCall: + description: |- + Stores results from an API call which will be cached. + Mutually exclusive with KubernetesResource. + This can be used to make calls to external (non-Kubernetes API server) services. + It can also be used to make calls to the Kubernetes API server in such cases: + 1. A POST is needed to create a resource. + 2. Finer-grained control is needed. Example: To restrict the number of resources cached. + properties: + data: + description: |- + The data object specifies the POST data sent to the server. + Only applicable when the method field is set to POST. + items: + description: RequestData contains the HTTP POST data + properties: + key: + description: Key is a unique identifier for the data value + type: string + value: + description: Value is the data value + x-kubernetes-preserve-unknown-fields: true + required: + - key + - value + type: object + type: array + method: + default: GET + description: Method is the HTTP request type (GET or POST). Defaults + to GET. + enum: + - GET + - POST + type: string + refreshInterval: + default: 10m + description: |- + RefreshInterval defines the interval in duration at which to poll the APICall. + The duration is a sequence of decimal numbers, each with optional fraction and a unit suffix, + such as "300ms", "1.5h" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". + format: duration + type: string + retryLimit: + default: 3 + description: RetryLimit defines the number of times the APICall + should be retried in case of failure. + minimum: 1 + type: integer + service: + description: |- + Service is an API call to a JSON web service. + This is used for non-Kubernetes API server calls. + It's mutually exclusive with the URLPath field. + properties: + caBundle: + description: |- + CABundle is a PEM encoded CA bundle which will be used to validate + the server certificate. + type: string + headers: + description: Headers is a list of optional HTTP headers to + be included in the request. + items: + properties: + key: + description: Key is the header key + type: string + value: + description: Value is the header value + type: string + required: + - key + - value + type: object + type: array + url: + description: |- + URL is the JSON web service URL. A typical form is + `https://{service}.{namespace}:{port}/{path}`. + type: string + required: + - url + type: object + urlPath: + description: |- + URLPath is the URL path to be used in the HTTP GET or POST request to the + Kubernetes API server (e.g. "/api/v1/namespaces" or "/apis/apps/v1/deployments"). + The format required is the same format used by the `kubectl get --raw` command. + See https://kyverno.io/docs/writing-policies/external-data-sources/#variables-from-kubernetes-api-server-calls + for details. + It's mutually exclusive with the Service field. + type: string + type: object + kubernetesResource: + description: |- + Stores a list of Kubernetes resources which will be cached. + Mutually exclusive with APICall. + properties: + group: + description: Group defines the group of the resource. + type: string + namespace: + description: |- + Namespace defines the namespace of the resource. Leave empty for cluster scoped resources. + If left empty for namespaced resources, all resources from all namespaces will be cached. + type: string + resource: + description: |- + Resource defines the type of the resource. + Requires the pluralized form of the resource kind in lowercase. (Ex., "deployments") + type: string + version: + description: Version defines the version of the resource. + type: string + required: + - resource + - version + type: object + projections: + description: Projections defines the list of JMESPath expressions + to extract values from the cached resource. + items: + properties: + jmesPath: + description: JMESPath is the JMESPath expression to extract + the value from the cached resource. + type: string + name: + description: Name is the name to use for the extracted value + in the context. + type: string + required: + - jmesPath + - name + type: object + type: array + type: object + status: + description: Status contains globalcontextentry runtime data. + properties: + conditions: + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + lastRefreshTime: + description: Indicates the time when the globalcontextentry was last + refreshed successfully for the API Call + format: date-time + type: string + ready: + description: Deprecated in favor of Conditions + type: boolean + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} diff --git a/modules/security/kyverno/base/crds/imagevalidatingpolicies.policies.kyverno.io.yaml b/modules/security/kyverno/base/crds/imagevalidatingpolicies.policies.kyverno.io.yaml index 6cade800..967ad8dd 100644 --- a/modules/security/kyverno/base/crds/imagevalidatingpolicies.policies.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/imagevalidatingpolicies.policies.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: imagevalidatingpolicies.policies.kyverno.io spec: group: policies.kyverno.io @@ -910,6 +910,32 @@ spec: validationActions: description: |- ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + Required. items: description: ValidationAction specifies a policy enforcement action. @@ -1972,6 +1998,32 @@ spec: validationActions: description: |- ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + Required. items: description: ValidationAction specifies a policy enforcement @@ -2260,3 +2312,2297 @@ spec: storage: true subresources: status: {} + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .status.conditionStatus.ready + name: READY + type: string + name: v1beta1 + schema: + openAPIV3Schema: + 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 + 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 + metadata: + type: object + spec: + description: ImageValidatingPolicySpec is the specification of the desired + behavior of the ImageValidatingPolicy. + properties: + attestations: + description: Attestations provides a list of image metadata to verify + items: + description: Attestation defines the identification details of the metadata + that has to be verified + properties: + intoto: + description: InToto defines the details of attestation attached + using intoto format + properties: + type: + description: Type defines the type of attestation contained + within the statement. + type: string + required: + - type + type: object + name: + description: Name is the name for this attestation. It is used + to refer to the attestation in verification + type: string + referrer: + description: Referrer defines the details of attestation attached + using OCI 1.1 format + properties: + type: + description: Type defines the type of attestation attached + to the image. + type: string + required: + - type + type: object + required: + - name + type: object + type: array + attestors: + description: Attestors provides a list of trusted authorities. + items: + description: Attestor is an identity that confirms or verifies the + authenticity of an image or an attestation + oneOf: + - required: + - cosign + - required: + - notary + properties: + cosign: + description: Cosign defines attestor configuration for Cosign + based signatures + properties: + annotations: + additionalProperties: + type: string + description: |- + Annotations are used for image verification. + Every specified key-value pair must exist and match in the verified payload. + The payload may contain other key-value pairs. + type: object + certificate: + description: Certificate defines the configuration for local + signature verification + properties: + cert: + description: Certificate is the to the public certificate + for local signature verification. + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a CEL expression + input. + type: string + value: + description: Value defines the raw string input. + type: string + type: object + certChain: + description: |- + CertificateChain is the list of CA certificates in PEM format which will be needed + when building the certificate chain for the signing certificate. Must start with the + parent intermediate CA certificate of the signing certificate and end with the root certificate + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a CEL expression + input. + type: string + value: + description: Value defines the raw string input. + type: string + type: object + type: object + ctlog: + description: CTLog sets the configuration to verify the + authority against a Rekor instance. + properties: + ctLogPubKey: + description: CTLogPubKey, if set, is used to validate + SCTs against a custom source. + type: string + insecureIgnoreSCT: + description: |- + IgnoreSCT defines whether to use the Signed Certificate Timestamp (SCT) log to check for a certificate + timestamp. Default is false. Set to true if this was opted out during signing. + type: boolean + insecureIgnoreTlog: + description: InsecureIgnoreTlog skips transparency log + verification. + type: boolean + rekorPubKey: + description: |- + RekorPubKey is an optional PEM-encoded public key to use for a custom Rekor. + If set, this will be used to validate transparency log signatures from a custom Rekor. + type: string + tsaCertChain: + description: |- + TSACertChain, if set, is the PEM-encoded certificate chain file for the RFC3161 timestamp authority. Must + contain the root CA certificate. Optionally may contain intermediate CA certificates, and + may contain the leaf TSA certificate if not present in the timestamurce. + type: string + url: + description: URL sets the url to the rekor instance + (by default the public rekor.sigstore.dev) + type: string + type: object + key: + description: Key defines the type of key to validate the + image. + properties: + data: + description: Data contains the inline public key + type: string + expression: + description: Expression is a Expression expression that + returns the public key. + type: string + hashAlgorithm: + description: |- + HashAlgorithm specifues signature algorithm for public keys. Supported values are + sha224, sha256, sha384 and sha512. Defaults to sha256. + type: string + kms: + description: |- + KMS contains the KMS url of the public key + Supported formats differ based on the KMS system used. + type: string + type: object + keyless: + description: Keyless sets the configuration to verify the + authority against a Fulcio instance. + properties: + identities: + description: Identities sets a list of identities. + items: + description: |- + Identity may contain the issuer and/or the subject found in the transparency + log. + Issuer/Subject uses a strict match, while IssuerRegExp and SubjectRegExp + apply a regexp for matching. + properties: + issuer: + description: Issuer defines the issuer for this + identity. + type: string + issuerRegExp: + description: IssuerRegExp specifies a regular + expression to match the issuer for this identity. + type: string + subject: + description: Subject defines the subject for this + identity. + type: string + subjectRegExp: + description: SubjectRegExp specifies a regular + expression to match the subject for this identity. + type: string + type: object + type: array + roots: + description: |- + Roots is an optional set of PEM encoded trusted root certificates. + If not provided, the system roots are used. + type: string + required: + - identities + type: object + source: + description: Sources sets the configuration to specify the + sources from where to consume the signature and attestations. + properties: + PullSecrets: + description: |- + SignaturePullSecrets is an optional list of references to secrets in the + same namespace as the deploying resource for pulling any of the signatures + used by this Source. + items: + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. + properties: + name: + default: "" + 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 + type: object + x-kubernetes-map-type: atomic + type: array + repository: + description: Repository defines the location from where + to pull the signature / attestations. + type: string + tagPrefix: + description: |- + TagPrefix is an optional prefix that signature and attestations have. + This is the 'tag based discovery' and in the future once references are + fully supported that should likely be the preferred way to handle these. + type: string + type: object + tuf: + description: TUF defines the configuration to fetch sigstore + root + properties: + mirror: + description: Mirror is the base URL of Sigstore TUF + repository + type: string + root: + description: Root defines the path or data of the trusted + root + properties: + data: + description: Data is the base64 encoded TUF root + type: string + path: + description: Path is the URL or File location of + the TUF root + type: string + type: object + type: object + type: object + name: + description: Name is the name for this attestor. It is used + to refer to the attestor in verification + type: string + notary: + description: Notary defines attestor configuration for Notary + based signatures + properties: + certs: + description: Certs define the cert chain for Notary signature + verification + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a CEL expression + input. + type: string + value: + description: Value defines the raw string input. + type: string + type: object + tsaCerts: + description: TSACerts define the cert chain for verifying + timestamps of notary signature + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a CEL expression + input. + type: string + value: + description: Value defines the raw string input. + type: string + type: object + type: object + required: + - name + type: object + type: array + auditAnnotations: + description: |- + auditAnnotations contains CEL expressions which are used to produce audit + annotations for the audit event of the API request. + validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is + required. + items: + description: AuditAnnotation describes how to produce an audit annotation + for an API request. + properties: + key: + description: |- + key specifies the audit annotation key. The audit annotation keys of + a ValidatingAdmissionPolicy must be unique. The key must be a qualified + name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length. + + The key is combined with the resource name of the + ValidatingAdmissionPolicy to construct an audit annotation key: + "{ValidatingAdmissionPolicy name}/{key}". + + If an admission webhook uses the same resource name as this ValidatingAdmissionPolicy + and the same audit annotation key, the annotation key will be identical. + In this case, the first annotation written with the key will be included + in the audit event and all subsequent annotations with the same key + will be discarded. + + Required. + type: string + valueExpression: + description: |- + valueExpression represents the expression which is evaluated by CEL to + produce an audit annotation value. The expression must evaluate to either + a string or null value. If the expression evaluates to a string, the + audit annotation is included with the string value. If the expression + evaluates to null or empty string the audit annotation will be omitted. + The valueExpression may be no longer than 5kb in length. + If the result of the valueExpression is more than 10kb in length, it + will be truncated to 10kb. + + If multiple ValidatingAdmissionPolicyBinding resources match an + API request, then the valueExpression will be evaluated for + each binding. All unique values produced by the valueExpressions + will be joined together in a comma-separated list. + + Required. + type: string + required: + - key + - valueExpression + type: object + type: array + x-kubernetes-list-type: atomic + autogen: + description: AutogenConfiguration defines the configuration for the + generation controller. + properties: + podControllers: + description: PodControllers specifies whether to generate a pod + controllers rules. + properties: + controllers: + items: + type: string + type: array + type: object + type: object + credentials: + description: Credentials provides credentials that will be used for + authentication with registry. + properties: + allowInsecureRegistry: + description: AllowInsecureRegistry allows insecure access to a + registry. + type: boolean + providers: + description: |- + Providers specifies a list of OCI Registry names, whose authentication providers are provided. + It can be of one of these values: default,google,azure,amazon,github. + items: + description: CredentialsProvidersType provides the list of credential + providers required. + enum: + - default + - amazon + - azure + - google + - github + type: string + type: array + secrets: + description: |- + Secrets specifies a list of secrets that are provided for credentials. + Secrets must live in the Kyverno namespace. + items: + type: string + type: array + type: object + evaluation: + description: EvaluationConfiguration defines the configuration for + the policy evaluation. + properties: + admission: + description: Admission controls policy evaluation during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + background: + description: Background controls policy evaluation during background + scan. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied to existing resources during a background scan. + Optional. Default value is "true". The value must be set to "false" if the policy rule + uses variables that are only available in the admission review request (e.g. user name). + type: boolean + type: object + mode: + description: |- + Mode is the mode of policy evaluation. + Allowed values are "Kubernetes" or "JSON". + Optional. Default value is "Kubernetes". + type: string + type: object + failurePolicy: + description: |- + FailurePolicy defines how to handle failures for the admission policy. Failures can + occur from CEL expression parse errors, type check errors, runtime errors and invalid + or mis-configured policy definitions or bindings. + enum: + - Ignore + - Fail + type: string + images: + description: ImageExtractors is a list of CEL expression to extract + images from the resource + items: + properties: + expression: + description: Expression defines CEL expression to extract images + from the resource. + type: string + name: + description: Name is the name for this imageList. It is used + to refer to the images in verification block as images. + type: string + required: + - expression + - name + type: object + type: array + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. + items: + description: MatchCondition represents a condition which must by + fulfilled for a request to be sent to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + matchConstraints: + description: MatchConstraints specifies what resources this policy + is designed to validate. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + matchImageReferences: + description: |- + MatchImageReferences is a list of Glob and CELExpressions to match images. + Any image that matches one of the rules is considered for validation + Any image that does not match a rule is skipped, even when they are passed as arguments to + image verification functions + items: + description: MatchImageReference defines a Glob or a CEL expression + for matching images + oneOf: + - required: + - glob + - required: + - expression + properties: + expression: + description: Expression defines CEL Expressions for matching + images + type: string + glob: + description: Glob defines a globbing pattern for matching images + type: string + type: object + type: array + validationActions: + description: |- + ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + + Required. + items: + description: ValidationAction specifies a policy enforcement action. + enum: + - Deny + - Audit + - Warn + type: string + type: array + x-kubernetes-list-type: set + validationConfigurations: + default: {} + description: ValidationConfigurations defines settings for mutating + and verifying image digests, and enforcing image verification through + signatures. + properties: + mutateDigest: + default: true + description: |- + MutateDigest enables replacement of image tags with digests. + Defaults to true. + type: boolean + required: + default: true + description: Required validates that images are verified, i.e., + have passed a signature or attestation check. + type: boolean + verifyDigest: + default: true + description: VerifyDigest validates that images have a digest. + type: boolean + type: object + validations: + description: Validations contain CEL expressions which is used to + apply the image validation checks. + items: + description: Validation specifies the CEL expression which is used + to apply the validation. + properties: + expression: + description: "Expression represents the expression which will + be evaluated by CEL.\nref: https://github.com/google/cel-spec\nCEL + expressions have access to the contents of the API request/response, + organized into CEL variables as well as some other useful + variables:\n\n- 'object' - The object from the incoming request. + The value is null for DELETE requests.\n- 'oldObject' - The + existing object. The value is null for CREATE requests.\n- + 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).\n- + 'params' - Parameter resource referred to by the policy binding + being evaluated. Only populated if the policy has a ParamKind.\n- + 'namespaceObject' - The namespace object that the incoming + object belongs to. The value is null for cluster-scoped resources.\n- + 'variables' - Map of composited variables, from its name to + its lazily evaluated value.\n For example, a variable named + 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' + - A CEL Authorizer. May be used to perform authorization checks + for the principal (user or service account) of the request.\n + \ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- + 'authorizer.requestResource' - A CEL ResourceCheck constructed + from the 'authorizer' and configured with the\n request resource.\n\nThe + `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` + are always accessible from the root of the\nobject. No other + metadata properties are accessible.\n\nOnly property names + of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.\nAccessible + property names are escaped according to the following rules + when accessed in the expression:\n- '__' escapes to '__underscores__'\n- + '.' escapes to '__dot__'\n- '-' escapes to '__dash__'\n- '/' + escapes to '__slash__'\n- Property names that exactly match + a CEL RESERVED keyword escape to '__{keyword}__'. The keywords + are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", + \"const\", \"continue\", \"else\", \"for\", \"function\", + \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", + \"return\".\nExamples:\n - Expression accessing a property + named \"namespace\": {\"Expression\": \"object.__namespace__ + > 0\"}\n - Expression accessing a property named \"x-prop\": + {\"Expression\": \"object.x__dash__prop > 0\"}\n - Expression + accessing a property named \"redact__d\": {\"Expression\": + \"object.redact__underscores__d > 0\"}\n\nEquality on arrays + with list type of 'set' or 'map' ignores element order, i.e. + [1, 2] == [2, 1].\nConcatenation on arrays with x-kubernetes-list-type + use the semantics of the list type:\n - 'set': `X + Y` performs + a union where the array positions of all elements in `X` are + preserved and\n non-intersecting elements in `Y` are appended, + retaining their partial order.\n - 'map': `X + Y` performs + a merge where the array positions of all keys in `X` are preserved + but the values\n are overwritten by values in `Y` when + the key sets of `X` and `Y` intersect. Elements in `Y` with\n + \ non-intersecting keys are appended, retaining their partial + order.\nRequired." + type: string + message: + description: |- + Message represents the message displayed when validation fails. The message is required if the Expression contains + line breaks. The message must not contain line breaks. + If unset, the message is "failed rule: {Rule}". + e.g. "must be a URL with the host matching spec.host" + If the Expression contains line breaks. Message is required. + The message must not contain line breaks. + If unset, the message is "failed Expression: {Expression}". + type: string + messageExpression: + description: |- + messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. + Since messageExpression is used as a failure message, it must evaluate to a string. + If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. + If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced + as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string + that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and + the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. + messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. + Example: + "object.x must be less than max ("+string(params.max)+")" + type: string + reason: + description: |- + Reason represents a machine-readable description of why this validation failed. + If this is the first validation in the list to fail, this reason, as well as the + corresponding HTTP response code, are used in the + HTTP response to the client. + The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". + If not set, StatusReasonInvalid is used in the response to the client. + type: string + required: + - expression + type: object + type: array + x-kubernetes-list-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + items: + description: Variable is the definition of a variable that is used + for composition. A variable is defined as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + webhookConfiguration: + description: WebhookConfiguration defines the configuration for the + webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + required: + - attestors + - validations + type: object + status: + description: Status contains policy runtime data. + properties: + autogen: + properties: + configs: + additionalProperties: + properties: + spec: + description: ImageValidatingPolicySpec is the specification + of the desired behavior of the ImageValidatingPolicy. + properties: + attestations: + description: Attestations provides a list of image metadata + to verify + items: + description: Attestation defines the identification + details of the metadata that has to be verified + properties: + intoto: + description: InToto defines the details of attestation + attached using intoto format + properties: + type: + description: Type defines the type of attestation + contained within the statement. + type: string + required: + - type + type: object + name: + description: Name is the name for this attestation. + It is used to refer to the attestation in verification + type: string + referrer: + description: Referrer defines the details of attestation + attached using OCI 1.1 format + properties: + type: + description: Type defines the type of attestation + attached to the image. + type: string + required: + - type + type: object + required: + - name + type: object + type: array + attestors: + description: Attestors provides a list of trusted authorities. + items: + description: Attestor is an identity that confirms + or verifies the authenticity of an image or an attestation + oneOf: + - required: + - cosign + - required: + - notary + properties: + cosign: + description: Cosign defines attestor configuration + for Cosign based signatures + properties: + annotations: + additionalProperties: + type: string + description: |- + Annotations are used for image verification. + Every specified key-value pair must exist and match in the verified payload. + The payload may contain other key-value pairs. + type: object + certificate: + description: Certificate defines the configuration + for local signature verification + properties: + cert: + description: Certificate is the to the + public certificate for local signature + verification. + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the + a CEL expression input. + type: string + value: + description: Value defines the raw + string input. + type: string + type: object + certChain: + description: |- + CertificateChain is the list of CA certificates in PEM format which will be needed + when building the certificate chain for the signing certificate. Must start with the + parent intermediate CA certificate of the signing certificate and end with the root certificate + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the + a CEL expression input. + type: string + value: + description: Value defines the raw + string input. + type: string + type: object + type: object + ctlog: + description: CTLog sets the configuration + to verify the authority against a Rekor + instance. + properties: + ctLogPubKey: + description: CTLogPubKey, if set, is used + to validate SCTs against a custom source. + type: string + insecureIgnoreSCT: + description: |- + IgnoreSCT defines whether to use the Signed Certificate Timestamp (SCT) log to check for a certificate + timestamp. Default is false. Set to true if this was opted out during signing. + type: boolean + insecureIgnoreTlog: + description: InsecureIgnoreTlog skips + transparency log verification. + type: boolean + rekorPubKey: + description: |- + RekorPubKey is an optional PEM-encoded public key to use for a custom Rekor. + If set, this will be used to validate transparency log signatures from a custom Rekor. + type: string + tsaCertChain: + description: |- + TSACertChain, if set, is the PEM-encoded certificate chain file for the RFC3161 timestamp authority. Must + contain the root CA certificate. Optionally may contain intermediate CA certificates, and + may contain the leaf TSA certificate if not present in the timestamurce. + type: string + url: + description: URL sets the url to the rekor + instance (by default the public rekor.sigstore.dev) + type: string + type: object + key: + description: Key defines the type of key to + validate the image. + properties: + data: + description: Data contains the inline + public key + type: string + expression: + description: Expression is a Expression + expression that returns the public key. + type: string + hashAlgorithm: + description: |- + HashAlgorithm specifues signature algorithm for public keys. Supported values are + sha224, sha256, sha384 and sha512. Defaults to sha256. + type: string + kms: + description: |- + KMS contains the KMS url of the public key + Supported formats differ based on the KMS system used. + type: string + type: object + keyless: + description: Keyless sets the configuration + to verify the authority against a Fulcio + instance. + properties: + identities: + description: Identities sets a list of + identities. + items: + description: |- + Identity may contain the issuer and/or the subject found in the transparency + log. + Issuer/Subject uses a strict match, while IssuerRegExp and SubjectRegExp + apply a regexp for matching. + properties: + issuer: + description: Issuer defines the + issuer for this identity. + type: string + issuerRegExp: + description: IssuerRegExp specifies + a regular expression to match + the issuer for this identity. + type: string + subject: + description: Subject defines the + subject for this identity. + type: string + subjectRegExp: + description: SubjectRegExp specifies + a regular expression to match + the subject for this identity. + type: string + type: object + type: array + roots: + description: |- + Roots is an optional set of PEM encoded trusted root certificates. + If not provided, the system roots are used. + type: string + required: + - identities + type: object + source: + description: Sources sets the configuration + to specify the sources from where to consume + the signature and attestations. + properties: + PullSecrets: + description: |- + SignaturePullSecrets is an optional list of references to secrets in the + same namespace as the deploying resource for pulling any of the signatures + used by this Source. + items: + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. + properties: + name: + default: "" + 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 + type: object + x-kubernetes-map-type: atomic + type: array + repository: + description: Repository defines the location + from where to pull the signature / attestations. + type: string + tagPrefix: + description: |- + TagPrefix is an optional prefix that signature and attestations have. + This is the 'tag based discovery' and in the future once references are + fully supported that should likely be the preferred way to handle these. + type: string + type: object + tuf: + description: TUF defines the configuration + to fetch sigstore root + properties: + mirror: + description: Mirror is the base URL of + Sigstore TUF repository + type: string + root: + description: Root defines the path or + data of the trusted root + properties: + data: + description: Data is the base64 encoded + TUF root + type: string + path: + description: Path is the URL or File + location of the TUF root + type: string + type: object + type: object + type: object + name: + description: Name is the name for this attestor. + It is used to refer to the attestor in verification + type: string + notary: + description: Notary defines attestor configuration + for Notary based signatures + properties: + certs: + description: Certs define the cert chain for + Notary signature verification + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a + CEL expression input. + type: string + value: + description: Value defines the raw string + input. + type: string + type: object + tsaCerts: + description: TSACerts define the cert chain + for verifying timestamps of notary signature + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a + CEL expression input. + type: string + value: + description: Value defines the raw string + input. + type: string + type: object + type: object + required: + - name + type: object + type: array + auditAnnotations: + description: |- + auditAnnotations contains CEL expressions which are used to produce audit + annotations for the audit event of the API request. + validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is + required. + items: + description: AuditAnnotation describes how to produce + an audit annotation for an API request. + properties: + key: + description: |- + key specifies the audit annotation key. The audit annotation keys of + a ValidatingAdmissionPolicy must be unique. The key must be a qualified + name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length. + + The key is combined with the resource name of the + ValidatingAdmissionPolicy to construct an audit annotation key: + "{ValidatingAdmissionPolicy name}/{key}". + + If an admission webhook uses the same resource name as this ValidatingAdmissionPolicy + and the same audit annotation key, the annotation key will be identical. + In this case, the first annotation written with the key will be included + in the audit event and all subsequent annotations with the same key + will be discarded. + + Required. + type: string + valueExpression: + description: |- + valueExpression represents the expression which is evaluated by CEL to + produce an audit annotation value. The expression must evaluate to either + a string or null value. If the expression evaluates to a string, the + audit annotation is included with the string value. If the expression + evaluates to null or empty string the audit annotation will be omitted. + The valueExpression may be no longer than 5kb in length. + If the result of the valueExpression is more than 10kb in length, it + will be truncated to 10kb. + + If multiple ValidatingAdmissionPolicyBinding resources match an + API request, then the valueExpression will be evaluated for + each binding. All unique values produced by the valueExpressions + will be joined together in a comma-separated list. + + Required. + type: string + required: + - key + - valueExpression + type: object + type: array + x-kubernetes-list-type: atomic + autogen: + description: AutogenConfiguration defines the configuration + for the generation controller. + properties: + podControllers: + description: PodControllers specifies whether to + generate a pod controllers rules. + properties: + controllers: + items: + type: string + type: array + type: object + type: object + credentials: + description: Credentials provides credentials that will + be used for authentication with registry. + properties: + allowInsecureRegistry: + description: AllowInsecureRegistry allows insecure + access to a registry. + type: boolean + providers: + description: |- + Providers specifies a list of OCI Registry names, whose authentication providers are provided. + It can be of one of these values: default,google,azure,amazon,github. + items: + description: CredentialsProvidersType provides + the list of credential providers required. + enum: + - default + - amazon + - azure + - google + - github + type: string + type: array + secrets: + description: |- + Secrets specifies a list of secrets that are provided for credentials. + Secrets must live in the Kyverno namespace. + items: + type: string + type: array + type: object + evaluation: + description: EvaluationConfiguration defines the configuration + for the policy evaluation. + properties: + admission: + description: Admission controls policy evaluation + during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + background: + description: Background controls policy evaluation + during background scan. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied to existing resources during a background scan. + Optional. Default value is "true". The value must be set to "false" if the policy rule + uses variables that are only available in the admission review request (e.g. user name). + type: boolean + type: object + mode: + description: |- + Mode is the mode of policy evaluation. + Allowed values are "Kubernetes" or "JSON". + Optional. Default value is "Kubernetes". + type: string + type: object + failurePolicy: + description: |- + FailurePolicy defines how to handle failures for the admission policy. Failures can + occur from CEL expression parse errors, type check errors, runtime errors and invalid + or mis-configured policy definitions or bindings. + enum: + - Ignore + - Fail + type: string + images: + description: ImageExtractors is a list of CEL expression + to extract images from the resource + items: + properties: + expression: + description: Expression defines CEL expression + to extract images from the resource. + type: string + name: + description: Name is the name for this imageList. + It is used to refer to the images in verification + block as images. + type: string + required: + - expression + - name + type: object + type: array + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. + items: + description: MatchCondition represents a condition + which must by fulfilled for a request to be sent + to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + matchConstraints: + description: MatchConstraints specifies what resources + this policy is designed to validate. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + matchImageReferences: + description: |- + MatchImageReferences is a list of Glob and CELExpressions to match images. + Any image that matches one of the rules is considered for validation + Any image that does not match a rule is skipped, even when they are passed as arguments to + image verification functions + items: + description: MatchImageReference defines a Glob or + a CEL expression for matching images + oneOf: + - required: + - glob + - required: + - expression + properties: + expression: + description: Expression defines CEL Expressions + for matching images + type: string + glob: + description: Glob defines a globbing pattern for + matching images + type: string + type: object + type: array + validationActions: + description: |- + ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + + Required. + items: + description: ValidationAction specifies a policy enforcement + action. + enum: + - Deny + - Audit + - Warn + type: string + type: array + x-kubernetes-list-type: set + validationConfigurations: + default: {} + description: ValidationConfigurations defines settings + for mutating and verifying image digests, and enforcing + image verification through signatures. + properties: + mutateDigest: + default: true + description: |- + MutateDigest enables replacement of image tags with digests. + Defaults to true. + type: boolean + required: + default: true + description: Required validates that images are + verified, i.e., have passed a signature or attestation + check. + type: boolean + verifyDigest: + default: true + description: VerifyDigest validates that images + have a digest. + type: boolean + type: object + validations: + description: Validations contain CEL expressions which + is used to apply the image validation checks. + items: + description: Validation specifies the CEL expression + which is used to apply the validation. + properties: + expression: + description: "Expression represents the expression + which will be evaluated by CEL.\nref: https://github.com/google/cel-spec\nCEL + expressions have access to the contents of the + API request/response, organized into CEL variables + as well as some other useful variables:\n\n- + 'object' - The object from the incoming request. + The value is null for DELETE requests.\n- 'oldObject' + - The existing object. The value is null for + CREATE requests.\n- 'request' - Attributes of + the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).\n- + 'params' - Parameter resource referred to by + the policy binding being evaluated. Only populated + if the policy has a ParamKind.\n- 'namespaceObject' + - The namespace object that the incoming object + belongs to. The value is null for cluster-scoped + resources.\n- 'variables' - Map of composited + variables, from its name to its lazily evaluated + value.\n For example, a variable named 'foo' + can be accessed as 'variables.foo'.\n- 'authorizer' + - A CEL Authorizer. May be used to perform authorization + checks for the principal (user or service account) + of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- + 'authorizer.requestResource' - A CEL ResourceCheck + constructed from the 'authorizer' and configured + with the\n request resource.\n\nThe `apiVersion`, + `kind`, `metadata.name` and `metadata.generateName` + are always accessible from the root of the\nobject. + No other metadata properties are accessible.\n\nOnly + property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` + are accessible.\nAccessible property names are + escaped according to the following rules when + accessed in the expression:\n- '__' escapes + to '__underscores__'\n- '.' escapes to '__dot__'\n- + '-' escapes to '__dash__'\n- '/' escapes to + '__slash__'\n- Property names that exactly match + a CEL RESERVED keyword escape to '__{keyword}__'. + The keywords are:\n\t \"true\", \"false\", + \"null\", \"in\", \"as\", \"break\", \"const\", + \"continue\", \"else\", \"for\", \"function\", + \"if\",\n\t \"import\", \"let\", \"loop\", + \"package\", \"namespace\", \"return\".\nExamples:\n + \ - Expression accessing a property named \"namespace\": + {\"Expression\": \"object.__namespace__ > 0\"}\n + \ - Expression accessing a property named \"x-prop\": + {\"Expression\": \"object.x__dash__prop > 0\"}\n + \ - Expression accessing a property named \"redact__d\": + {\"Expression\": \"object.redact__underscores__d + > 0\"}\n\nEquality on arrays with list type + of 'set' or 'map' ignores element order, i.e. + [1, 2] == [2, 1].\nConcatenation on arrays with + x-kubernetes-list-type use the semantics of + the list type:\n - 'set': `X + Y` performs + a union where the array positions of all elements + in `X` are preserved and\n non-intersecting + elements in `Y` are appended, retaining their + partial order.\n - 'map': `X + Y` performs + a merge where the array positions of all keys + in `X` are preserved but the values\n are + overwritten by values in `Y` when the key sets + of `X` and `Y` intersect. Elements in `Y` with\n + \ non-intersecting keys are appended, retaining + their partial order.\nRequired." + type: string + message: + description: |- + Message represents the message displayed when validation fails. The message is required if the Expression contains + line breaks. The message must not contain line breaks. + If unset, the message is "failed rule: {Rule}". + e.g. "must be a URL with the host matching spec.host" + If the Expression contains line breaks. Message is required. + The message must not contain line breaks. + If unset, the message is "failed Expression: {Expression}". + type: string + messageExpression: + description: |- + messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. + Since messageExpression is used as a failure message, it must evaluate to a string. + If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. + If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced + as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string + that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and + the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. + messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. + Example: + "object.x must be less than max ("+string(params.max)+")" + type: string + reason: + description: |- + Reason represents a machine-readable description of why this validation failed. + If this is the first validation in the list to fail, this reason, as well as the + corresponding HTTP response code, are used in the + HTTP response to the client. + The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". + If not set, StatusReasonInvalid is used in the response to the client. + type: string + required: + - expression + type: object + type: array + x-kubernetes-list-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + items: + description: Variable is the definition of a variable + that is used for composition. A variable is defined + as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + webhookConfiguration: + description: WebhookConfiguration defines the configuration + for the webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + required: + - attestors + - validations + type: object + targets: + items: + properties: + group: + type: string + kind: + type: string + resource: + type: string + version: + type: string + required: + - kind + - resource + - version + type: object + type: array + required: + - spec + - targets + type: object + type: object + type: object + conditionStatus: + description: ConditionStatus is the shared status across all policy + types + properties: + conditions: + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + message: + description: |- + Message is a human readable message indicating details about the generation of ValidatingAdmissionPolicy/MutatingAdmissionPolicy + It is an empty string when ValidatingAdmissionPolicy/MutatingAdmissionPolicy is successfully generated. + type: string + ready: + description: |- + The ready of a policy is a high-level summary of where the policy is in its lifecycle. + The conditions array, the reason and message fields contain more detail about the policy's status. + type: boolean + type: object + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} diff --git a/modules/security/kyverno/base/crds/kustomization.yaml b/modules/security/kyverno/base/crds/kustomization.yaml index 8dd8eabd..d96c68a3 100644 --- a/modules/security/kyverno/base/crds/kustomization.yaml +++ b/modules/security/kyverno/base/crds/kustomization.yaml @@ -12,6 +12,9 @@ resources: - globalcontextentries.kyverno.io.yaml - imagevalidatingpolicies.policies.kyverno.io.yaml - mutatingpolicies.policies.kyverno.io.yaml +- namespaceddeletingpolicies.policies.kyverno.io.yaml +- namespacedimagevalidatingpolicies.policies.kyverno.io.yaml +- namespacedvalidatingpolicies.policies.kyverno.io.yaml - policies.kyverno.io.yaml - policyexceptions.kyverno.io.yaml - policyexceptions.policies.kyverno.io.yaml diff --git a/modules/security/kyverno/base/crds/mutatingpolicies.policies.kyverno.io.yaml b/modules/security/kyverno/base/crds/mutatingpolicies.policies.kyverno.io.yaml index 09f10008..e84f5847 100644 --- a/modules/security/kyverno/base/crds/mutatingpolicies.policies.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/mutatingpolicies.policies.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: mutatingpolicies.policies.kyverno.io spec: group: policies.kyverno.io @@ -122,9 +122,6 @@ spec: namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed. - If a parameter object is provided, it can be accessed via the `params` handle in the same - manner as validation expressions. - The exact matching logic is (in order): 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated. @@ -1118,9 +1115,6 @@ spec: namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed. - If a parameter object is provided, it can be accessed via the `params` handle in the same - manner as validation expressions. - The exact matching logic is (in order): 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated. @@ -2169,3 +2163,1977 @@ spec: storage: true subresources: status: {} + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .status.conditionStatus.ready + name: READY + type: string + name: v1beta1 + schema: + openAPIV3Schema: + 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 + 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 + metadata: + type: object + spec: + description: MutatingPolicySpec is the specification of the desired behavior + of the MutatingPolicy. + properties: + autogen: + description: AutogenConfiguration defines the configuration for the + generation controller. + properties: + mutatingAdmissionPolicy: + description: MutatingAdmissionPolicy specifies whether to generate + a Kubernetes MutatingAdmissionPolicy. + properties: + enabled: + description: |- + Enabled specifies whether to generate a Kubernetes MutatingAdmissionPolicy. + Optional. Defaults to "false" if not specified. + type: boolean + type: object + podControllers: + description: PodControllers specifies whether to generate a pod + controllers rules. + properties: + controllers: + items: + type: string + type: array + type: object + type: object + evaluation: + description: EvaluationConfiguration defines the configuration for + mutating policy evaluation. + properties: + admission: + description: Admission controls policy evaluation during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + background: + description: Background controls policy evaluation during background + scan. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied to existing resources during a background scan. + Optional. Default value is "true". The value must be set to "false" if the policy rule + uses variables that are only available in the admission review request (e.g. user name). + type: boolean + type: object + mode: + description: |- + Mode is the mode of policy evaluation. + Allowed values are "Kubernetes" or "JSON". + Optional. Default value is "Kubernetes". + type: string + mutateExisting: + description: MutateExisting controls whether existing resources + are mutated. + properties: + enabled: + default: false + description: |- + Enabled enables mutation of existing resources. Default is false. + When spec.targetMatchConstraints is not defined, Kyverno mutates existing resources matched in spec.matchConstraints. + type: boolean + type: object + type: object + failurePolicy: + description: |- + failurePolicy defines how to handle failures for the admission policy. Failures can + occur from CEL expression parse errors, type check errors, runtime errors and invalid + or mis-configured policy definitions or bindings. + + failurePolicy does not define how validations that evaluate to false are handled. + + When failurePolicy is set to Fail, the validationActions field define how failures are enforced. + + Allowed values are Ignore or Fail. Defaults to Fail. + enum: + - Ignore + - Fail + type: string + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. + + The exact matching logic is (in order): + 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. + 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated. + 3. If any matchCondition evaluates to an error (but none are FALSE): + - If failurePolicy=Fail, reject the request + - If failurePolicy=Ignore, the policy is skipped + items: + description: MatchCondition represents a condition which must by + fulfilled for a request to be sent to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + matchConstraints: + description: |- + MatchConstraints specifies what resources this policy is designed to evaluate. + The AdmissionPolicy cares about a request if it matches _all_ Constraints. + Required. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + mutations: + description: |- + mutations contain operations to perform on matching objects. + mutations may not be empty; a minimum of one mutation is required. + mutations are evaluated in order, and are reinvoked according to + the reinvocationPolicy. + The mutations of a policy are invoked for each binding of this policy + and reinvocation of mutations occurs on a per binding basis. + items: + description: Mutation specifies the CEL expression which is used + to apply the Mutation. + properties: + expression: + description: |- + Expression specifies the CEL expression which is used to apply the mutation. + Required. + type: string + target: + description: Target specifies the target of the mutation. + properties: + group: + description: Group specifies the API group of the target + resource. + type: string + kind: + description: Kind specifies the kind of the target resource. + type: string + resource: + description: Resource specifies the resource name of the + target resource. + type: string + version: + description: Version specifies the API version of the target + resource. + type: string + type: object + required: + - expression + type: object + type: array + x-kubernetes-list-type: atomic + reinvocationPolicy: + description: |- + reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding + as part of a single admission evaluation. + Allowed values are "Never" and "IfNeeded". + + Never: These mutations will not be called more than once per binding in a single admission evaluation. + + IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of + order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only + reinvoked when mutations change the object after this mutation is invoked. + Required. + type: string + targetMatchConstraints: + description: TargetMatchConstraints specifies what target mutation + resources this policy is designed to evaluate. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + The variables defined here will be available under `variables` in other expressions of the policy + except MatchConditions because MatchConditions are evaluated before the rest of the policy. + + The expression of a variable can refer to other variables defined earlier in the list but not those after. + Thus, Variables must be sorted by the order of first appearance and acyclic. + items: + description: Variable is the definition of a variable that is used + for composition. A variable is defined as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + webhookConfiguration: + description: WebhookConfiguration defines the configuration for the + webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + type: object + status: + description: Status contains policy runtime data. + properties: + autogen: + properties: + configs: + additionalProperties: + properties: + spec: + description: MutatingPolicySpec is the specification of + the desired behavior of the MutatingPolicy. + properties: + autogen: + description: AutogenConfiguration defines the configuration + for the generation controller. + properties: + mutatingAdmissionPolicy: + description: MutatingAdmissionPolicy specifies whether + to generate a Kubernetes MutatingAdmissionPolicy. + properties: + enabled: + description: |- + Enabled specifies whether to generate a Kubernetes MutatingAdmissionPolicy. + Optional. Defaults to "false" if not specified. + type: boolean + type: object + podControllers: + description: PodControllers specifies whether to + generate a pod controllers rules. + properties: + controllers: + items: + type: string + type: array + type: object + type: object + evaluation: + description: EvaluationConfiguration defines the configuration + for mutating policy evaluation. + properties: + admission: + description: Admission controls policy evaluation + during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + background: + description: Background controls policy evaluation + during background scan. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied to existing resources during a background scan. + Optional. Default value is "true". The value must be set to "false" if the policy rule + uses variables that are only available in the admission review request (e.g. user name). + type: boolean + type: object + mode: + description: |- + Mode is the mode of policy evaluation. + Allowed values are "Kubernetes" or "JSON". + Optional. Default value is "Kubernetes". + type: string + mutateExisting: + description: MutateExisting controls whether existing + resources are mutated. + properties: + enabled: + default: false + description: |- + Enabled enables mutation of existing resources. Default is false. + When spec.targetMatchConstraints is not defined, Kyverno mutates existing resources matched in spec.matchConstraints. + type: boolean + type: object + type: object + failurePolicy: + description: |- + failurePolicy defines how to handle failures for the admission policy. Failures can + occur from CEL expression parse errors, type check errors, runtime errors and invalid + or mis-configured policy definitions or bindings. + + failurePolicy does not define how validations that evaluate to false are handled. + + When failurePolicy is set to Fail, the validationActions field define how failures are enforced. + + Allowed values are Ignore or Fail. Defaults to Fail. + enum: + - Ignore + - Fail + type: string + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. + + The exact matching logic is (in order): + 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. + 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated. + 3. If any matchCondition evaluates to an error (but none are FALSE): + - If failurePolicy=Fail, reject the request + - If failurePolicy=Ignore, the policy is skipped + items: + description: MatchCondition represents a condition + which must by fulfilled for a request to be sent + to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + matchConstraints: + description: |- + MatchConstraints specifies what resources this policy is designed to evaluate. + The AdmissionPolicy cares about a request if it matches _all_ Constraints. + Required. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + mutations: + description: |- + mutations contain operations to perform on matching objects. + mutations may not be empty; a minimum of one mutation is required. + mutations are evaluated in order, and are reinvoked according to + the reinvocationPolicy. + The mutations of a policy are invoked for each binding of this policy + and reinvocation of mutations occurs on a per binding basis. + items: + description: Mutation specifies the CEL expression + which is used to apply the Mutation. + properties: + expression: + description: |- + Expression specifies the CEL expression which is used to apply the mutation. + Required. + type: string + target: + description: Target specifies the target of the + mutation. + properties: + group: + description: Group specifies the API group + of the target resource. + type: string + kind: + description: Kind specifies the kind of the + target resource. + type: string + resource: + description: Resource specifies the resource + name of the target resource. + type: string + version: + description: Version specifies the API version + of the target resource. + type: string + type: object + required: + - expression + type: object + type: array + x-kubernetes-list-type: atomic + reinvocationPolicy: + description: |- + reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding + as part of a single admission evaluation. + Allowed values are "Never" and "IfNeeded". + + Never: These mutations will not be called more than once per binding in a single admission evaluation. + + IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of + order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only + reinvoked when mutations change the object after this mutation is invoked. + Required. + type: string + targetMatchConstraints: + description: TargetMatchConstraints specifies what target + mutation resources this policy is designed to evaluate. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + The variables defined here will be available under `variables` in other expressions of the policy + except MatchConditions because MatchConditions are evaluated before the rest of the policy. + + The expression of a variable can refer to other variables defined earlier in the list but not those after. + Thus, Variables must be sorted by the order of first appearance and acyclic. + items: + description: Variable is the definition of a variable + that is used for composition. A variable is defined + as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + webhookConfiguration: + description: WebhookConfiguration defines the configuration + for the webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + type: object + targets: + items: + properties: + group: + type: string + kind: + type: string + resource: + type: string + version: + type: string + required: + - kind + - resource + - version + type: object + type: array + required: + - spec + - targets + type: object + type: object + type: object + conditionStatus: + description: ConditionStatus is the shared status across all policy + types + properties: + conditions: + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + message: + description: |- + Message is a human readable message indicating details about the generation of ValidatingAdmissionPolicy/MutatingAdmissionPolicy + It is an empty string when ValidatingAdmissionPolicy/MutatingAdmissionPolicy is successfully generated. + type: string + ready: + description: |- + The ready of a policy is a high-level summary of where the policy is in its lifecycle. + The conditions array, the reason and message fields contain more detail about the policy's status. + type: boolean + type: object + generated: + description: Generated indicates whether a MutatingAdmissionPolicy + is generated from the policy or not + type: boolean + type: object + required: + - spec + type: object + selectableFields: + - jsonPath: .spec.evaluation.mode + served: true + storage: false + subresources: + status: {} diff --git a/modules/security/kyverno/base/crds/namespaceddeletingpolicies.policies.kyverno.io.yaml b/modules/security/kyverno/base/crds/namespaceddeletingpolicies.policies.kyverno.io.yaml new file mode 100644 index 00000000..571bbdc6 --- /dev/null +++ b/modules/security/kyverno/base/crds/namespaceddeletingpolicies.policies.kyverno.io.yaml @@ -0,0 +1,572 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.18.0 + name: namespaceddeletingpolicies.policies.kyverno.io +spec: + group: policies.kyverno.io + names: + categories: + - kyverno + kind: NamespacedDeletingPolicy + listKind: NamespacedDeletingPolicyList + plural: namespaceddeletingpolicies + shortNames: + - ndpol + singular: namespaceddeletingpolicy + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .status.conditionStatus.ready + name: READY + type: string + name: v1beta1 + schema: + openAPIV3Schema: + 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 + 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 + metadata: + type: object + spec: + description: DeletingPolicySpec is the specification of the desired behavior + of the DeletingPolicy. + properties: + conditions: + description: |- + Conditions is a list of conditions that must be met for a resource to be deleted. + Conditions filter resources that have already been matched by the match constraints, + namespaceSelector, and objectSelector. An empty list of conditions matches all resources. + There are a maximum of 64 conditions allowed. + + The exact matching logic is (in order): + 1. If ANY condition evaluates to FALSE, the policy is skipped. + 2. If ALL conditions evaluate to TRUE, the policy is executed. + items: + description: MatchCondition represents a condition which must by + fulfilled for a request to be sent to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + deletionPropagationPolicy: + description: DeletionPropagationPolicy defines how resources will + be deleted (Foreground, Background, Orphan). + enum: + - Foreground + - Background + - Orphan + type: string + matchConstraints: + description: |- + MatchConstraints specifies what resources this policy is designed to validate. + The AdmissionPolicy cares about a request if it matches _all_ Constraints. + Required. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + schedule: + description: |- + The schedule in Cron format + Required. + type: string + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + The variables defined here will be available under `variables` in other expressions of the policy + except MatchConditions because MatchConditions are evaluated before the rest of the policy. + + The expression of a variable can refer to other variables defined earlier in the list but not those after. + Thus, Variables must be sorted by the order of first appearance and acyclic. + items: + description: Variable is the definition of a variable that is used + for composition. A variable is defined as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + required: + - schedule + type: object + status: + description: Status contains policy runtime data. + properties: + conditionStatus: + description: ConditionStatus is the shared status across all policy + types + properties: + conditions: + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + message: + description: |- + Message is a human readable message indicating details about the generation of ValidatingAdmissionPolicy/MutatingAdmissionPolicy + It is an empty string when ValidatingAdmissionPolicy/MutatingAdmissionPolicy is successfully generated. + type: string + ready: + description: |- + The ready of a policy is a high-level summary of where the policy is in its lifecycle. + The conditions array, the reason and message fields contain more detail about the policy's status. + type: boolean + type: object + lastExecutionTime: + format: date-time + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/modules/security/kyverno/base/crds/namespacedimagevalidatingpolicies.policies.kyverno.io.yaml b/modules/security/kyverno/base/crds/namespacedimagevalidatingpolicies.policies.kyverno.io.yaml new file mode 100644 index 00000000..adc3f148 --- /dev/null +++ b/modules/security/kyverno/base/crds/namespacedimagevalidatingpolicies.policies.kyverno.io.yaml @@ -0,0 +1,2314 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.18.0 + name: namespacedimagevalidatingpolicies.policies.kyverno.io +spec: + group: policies.kyverno.io + names: + categories: + - kyverno + kind: NamespacedImageValidatingPolicy + listKind: NamespacedImageValidatingPolicyList + plural: namespacedimagevalidatingpolicies + shortNames: + - nivpol + singular: namespacedimagevalidatingpolicy + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .status.conditionStatus.ready + name: READY + type: string + name: v1beta1 + schema: + openAPIV3Schema: + 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 + 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 + metadata: + type: object + spec: + description: ImageValidatingPolicySpec is the specification of the desired + behavior of the ImageValidatingPolicy. + properties: + attestations: + description: Attestations provides a list of image metadata to verify + items: + description: Attestation defines the identification details of the metadata + that has to be verified + properties: + intoto: + description: InToto defines the details of attestation attached + using intoto format + properties: + type: + description: Type defines the type of attestation contained + within the statement. + type: string + required: + - type + type: object + name: + description: Name is the name for this attestation. It is used + to refer to the attestation in verification + type: string + referrer: + description: Referrer defines the details of attestation attached + using OCI 1.1 format + properties: + type: + description: Type defines the type of attestation attached + to the image. + type: string + required: + - type + type: object + required: + - name + type: object + type: array + attestors: + description: Attestors provides a list of trusted authorities. + items: + description: Attestor is an identity that confirms or verifies the + authenticity of an image or an attestation + oneOf: + - required: + - cosign + - required: + - notary + properties: + cosign: + description: Cosign defines attestor configuration for Cosign + based signatures + properties: + annotations: + additionalProperties: + type: string + description: |- + Annotations are used for image verification. + Every specified key-value pair must exist and match in the verified payload. + The payload may contain other key-value pairs. + type: object + certificate: + description: Certificate defines the configuration for local + signature verification + properties: + cert: + description: Certificate is the to the public certificate + for local signature verification. + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a CEL expression + input. + type: string + value: + description: Value defines the raw string input. + type: string + type: object + certChain: + description: |- + CertificateChain is the list of CA certificates in PEM format which will be needed + when building the certificate chain for the signing certificate. Must start with the + parent intermediate CA certificate of the signing certificate and end with the root certificate + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a CEL expression + input. + type: string + value: + description: Value defines the raw string input. + type: string + type: object + type: object + ctlog: + description: CTLog sets the configuration to verify the + authority against a Rekor instance. + properties: + ctLogPubKey: + description: CTLogPubKey, if set, is used to validate + SCTs against a custom source. + type: string + insecureIgnoreSCT: + description: |- + IgnoreSCT defines whether to use the Signed Certificate Timestamp (SCT) log to check for a certificate + timestamp. Default is false. Set to true if this was opted out during signing. + type: boolean + insecureIgnoreTlog: + description: InsecureIgnoreTlog skips transparency log + verification. + type: boolean + rekorPubKey: + description: |- + RekorPubKey is an optional PEM-encoded public key to use for a custom Rekor. + If set, this will be used to validate transparency log signatures from a custom Rekor. + type: string + tsaCertChain: + description: |- + TSACertChain, if set, is the PEM-encoded certificate chain file for the RFC3161 timestamp authority. Must + contain the root CA certificate. Optionally may contain intermediate CA certificates, and + may contain the leaf TSA certificate if not present in the timestamurce. + type: string + url: + description: URL sets the url to the rekor instance + (by default the public rekor.sigstore.dev) + type: string + type: object + key: + description: Key defines the type of key to validate the + image. + properties: + data: + description: Data contains the inline public key + type: string + expression: + description: Expression is a Expression expression that + returns the public key. + type: string + hashAlgorithm: + description: |- + HashAlgorithm specifues signature algorithm for public keys. Supported values are + sha224, sha256, sha384 and sha512. Defaults to sha256. + type: string + kms: + description: |- + KMS contains the KMS url of the public key + Supported formats differ based on the KMS system used. + type: string + type: object + keyless: + description: Keyless sets the configuration to verify the + authority against a Fulcio instance. + properties: + identities: + description: Identities sets a list of identities. + items: + description: |- + Identity may contain the issuer and/or the subject found in the transparency + log. + Issuer/Subject uses a strict match, while IssuerRegExp and SubjectRegExp + apply a regexp for matching. + properties: + issuer: + description: Issuer defines the issuer for this + identity. + type: string + issuerRegExp: + description: IssuerRegExp specifies a regular + expression to match the issuer for this identity. + type: string + subject: + description: Subject defines the subject for this + identity. + type: string + subjectRegExp: + description: SubjectRegExp specifies a regular + expression to match the subject for this identity. + type: string + type: object + type: array + roots: + description: |- + Roots is an optional set of PEM encoded trusted root certificates. + If not provided, the system roots are used. + type: string + required: + - identities + type: object + source: + description: Sources sets the configuration to specify the + sources from where to consume the signature and attestations. + properties: + PullSecrets: + description: |- + SignaturePullSecrets is an optional list of references to secrets in the + same namespace as the deploying resource for pulling any of the signatures + used by this Source. + items: + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. + properties: + name: + default: "" + 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 + type: object + x-kubernetes-map-type: atomic + type: array + repository: + description: Repository defines the location from where + to pull the signature / attestations. + type: string + tagPrefix: + description: |- + TagPrefix is an optional prefix that signature and attestations have. + This is the 'tag based discovery' and in the future once references are + fully supported that should likely be the preferred way to handle these. + type: string + type: object + tuf: + description: TUF defines the configuration to fetch sigstore + root + properties: + mirror: + description: Mirror is the base URL of Sigstore TUF + repository + type: string + root: + description: Root defines the path or data of the trusted + root + properties: + data: + description: Data is the base64 encoded TUF root + type: string + path: + description: Path is the URL or File location of + the TUF root + type: string + type: object + type: object + type: object + name: + description: Name is the name for this attestor. It is used + to refer to the attestor in verification + type: string + notary: + description: Notary defines attestor configuration for Notary + based signatures + properties: + certs: + description: Certs define the cert chain for Notary signature + verification + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a CEL expression + input. + type: string + value: + description: Value defines the raw string input. + type: string + type: object + tsaCerts: + description: TSACerts define the cert chain for verifying + timestamps of notary signature + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a CEL expression + input. + type: string + value: + description: Value defines the raw string input. + type: string + type: object + type: object + required: + - name + type: object + type: array + auditAnnotations: + description: |- + auditAnnotations contains CEL expressions which are used to produce audit + annotations for the audit event of the API request. + validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is + required. + items: + description: AuditAnnotation describes how to produce an audit annotation + for an API request. + properties: + key: + description: |- + key specifies the audit annotation key. The audit annotation keys of + a ValidatingAdmissionPolicy must be unique. The key must be a qualified + name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length. + + The key is combined with the resource name of the + ValidatingAdmissionPolicy to construct an audit annotation key: + "{ValidatingAdmissionPolicy name}/{key}". + + If an admission webhook uses the same resource name as this ValidatingAdmissionPolicy + and the same audit annotation key, the annotation key will be identical. + In this case, the first annotation written with the key will be included + in the audit event and all subsequent annotations with the same key + will be discarded. + + Required. + type: string + valueExpression: + description: |- + valueExpression represents the expression which is evaluated by CEL to + produce an audit annotation value. The expression must evaluate to either + a string or null value. If the expression evaluates to a string, the + audit annotation is included with the string value. If the expression + evaluates to null or empty string the audit annotation will be omitted. + The valueExpression may be no longer than 5kb in length. + If the result of the valueExpression is more than 10kb in length, it + will be truncated to 10kb. + + If multiple ValidatingAdmissionPolicyBinding resources match an + API request, then the valueExpression will be evaluated for + each binding. All unique values produced by the valueExpressions + will be joined together in a comma-separated list. + + Required. + type: string + required: + - key + - valueExpression + type: object + type: array + x-kubernetes-list-type: atomic + autogen: + description: AutogenConfiguration defines the configuration for the + generation controller. + properties: + podControllers: + description: PodControllers specifies whether to generate a pod + controllers rules. + properties: + controllers: + items: + type: string + type: array + type: object + type: object + credentials: + description: Credentials provides credentials that will be used for + authentication with registry. + properties: + allowInsecureRegistry: + description: AllowInsecureRegistry allows insecure access to a + registry. + type: boolean + providers: + description: |- + Providers specifies a list of OCI Registry names, whose authentication providers are provided. + It can be of one of these values: default,google,azure,amazon,github. + items: + description: CredentialsProvidersType provides the list of credential + providers required. + enum: + - default + - amazon + - azure + - google + - github + type: string + type: array + secrets: + description: |- + Secrets specifies a list of secrets that are provided for credentials. + Secrets must live in the Kyverno namespace. + items: + type: string + type: array + type: object + evaluation: + description: EvaluationConfiguration defines the configuration for + the policy evaluation. + properties: + admission: + description: Admission controls policy evaluation during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + background: + description: Background controls policy evaluation during background + scan. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied to existing resources during a background scan. + Optional. Default value is "true". The value must be set to "false" if the policy rule + uses variables that are only available in the admission review request (e.g. user name). + type: boolean + type: object + mode: + description: |- + Mode is the mode of policy evaluation. + Allowed values are "Kubernetes" or "JSON". + Optional. Default value is "Kubernetes". + type: string + type: object + failurePolicy: + description: |- + FailurePolicy defines how to handle failures for the admission policy. Failures can + occur from CEL expression parse errors, type check errors, runtime errors and invalid + or mis-configured policy definitions or bindings. + enum: + - Ignore + - Fail + type: string + images: + description: ImageExtractors is a list of CEL expression to extract + images from the resource + items: + properties: + expression: + description: Expression defines CEL expression to extract images + from the resource. + type: string + name: + description: Name is the name for this imageList. It is used + to refer to the images in verification block as images. + type: string + required: + - expression + - name + type: object + type: array + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. + items: + description: MatchCondition represents a condition which must by + fulfilled for a request to be sent to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + matchConstraints: + description: MatchConstraints specifies what resources this policy + is designed to validate. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + matchImageReferences: + description: |- + MatchImageReferences is a list of Glob and CELExpressions to match images. + Any image that matches one of the rules is considered for validation + Any image that does not match a rule is skipped, even when they are passed as arguments to + image verification functions + items: + description: MatchImageReference defines a Glob or a CEL expression + for matching images + oneOf: + - required: + - glob + - required: + - expression + properties: + expression: + description: Expression defines CEL Expressions for matching + images + type: string + glob: + description: Glob defines a globbing pattern for matching images + type: string + type: object + type: array + validationActions: + description: |- + ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + + Required. + items: + description: ValidationAction specifies a policy enforcement action. + enum: + - Deny + - Audit + - Warn + type: string + type: array + x-kubernetes-list-type: set + validationConfigurations: + default: {} + description: ValidationConfigurations defines settings for mutating + and verifying image digests, and enforcing image verification through + signatures. + properties: + mutateDigest: + default: true + description: |- + MutateDigest enables replacement of image tags with digests. + Defaults to true. + type: boolean + required: + default: true + description: Required validates that images are verified, i.e., + have passed a signature or attestation check. + type: boolean + verifyDigest: + default: true + description: VerifyDigest validates that images have a digest. + type: boolean + type: object + validations: + description: Validations contain CEL expressions which is used to + apply the image validation checks. + items: + description: Validation specifies the CEL expression which is used + to apply the validation. + properties: + expression: + description: "Expression represents the expression which will + be evaluated by CEL.\nref: https://github.com/google/cel-spec\nCEL + expressions have access to the contents of the API request/response, + organized into CEL variables as well as some other useful + variables:\n\n- 'object' - The object from the incoming request. + The value is null for DELETE requests.\n- 'oldObject' - The + existing object. The value is null for CREATE requests.\n- + 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).\n- + 'params' - Parameter resource referred to by the policy binding + being evaluated. Only populated if the policy has a ParamKind.\n- + 'namespaceObject' - The namespace object that the incoming + object belongs to. The value is null for cluster-scoped resources.\n- + 'variables' - Map of composited variables, from its name to + its lazily evaluated value.\n For example, a variable named + 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' + - A CEL Authorizer. May be used to perform authorization checks + for the principal (user or service account) of the request.\n + \ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- + 'authorizer.requestResource' - A CEL ResourceCheck constructed + from the 'authorizer' and configured with the\n request resource.\n\nThe + `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` + are always accessible from the root of the\nobject. No other + metadata properties are accessible.\n\nOnly property names + of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.\nAccessible + property names are escaped according to the following rules + when accessed in the expression:\n- '__' escapes to '__underscores__'\n- + '.' escapes to '__dot__'\n- '-' escapes to '__dash__'\n- '/' + escapes to '__slash__'\n- Property names that exactly match + a CEL RESERVED keyword escape to '__{keyword}__'. The keywords + are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", + \"const\", \"continue\", \"else\", \"for\", \"function\", + \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", + \"return\".\nExamples:\n - Expression accessing a property + named \"namespace\": {\"Expression\": \"object.__namespace__ + > 0\"}\n - Expression accessing a property named \"x-prop\": + {\"Expression\": \"object.x__dash__prop > 0\"}\n - Expression + accessing a property named \"redact__d\": {\"Expression\": + \"object.redact__underscores__d > 0\"}\n\nEquality on arrays + with list type of 'set' or 'map' ignores element order, i.e. + [1, 2] == [2, 1].\nConcatenation on arrays with x-kubernetes-list-type + use the semantics of the list type:\n - 'set': `X + Y` performs + a union where the array positions of all elements in `X` are + preserved and\n non-intersecting elements in `Y` are appended, + retaining their partial order.\n - 'map': `X + Y` performs + a merge where the array positions of all keys in `X` are preserved + but the values\n are overwritten by values in `Y` when + the key sets of `X` and `Y` intersect. Elements in `Y` with\n + \ non-intersecting keys are appended, retaining their partial + order.\nRequired." + type: string + message: + description: |- + Message represents the message displayed when validation fails. The message is required if the Expression contains + line breaks. The message must not contain line breaks. + If unset, the message is "failed rule: {Rule}". + e.g. "must be a URL with the host matching spec.host" + If the Expression contains line breaks. Message is required. + The message must not contain line breaks. + If unset, the message is "failed Expression: {Expression}". + type: string + messageExpression: + description: |- + messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. + Since messageExpression is used as a failure message, it must evaluate to a string. + If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. + If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced + as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string + that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and + the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. + messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. + Example: + "object.x must be less than max ("+string(params.max)+")" + type: string + reason: + description: |- + Reason represents a machine-readable description of why this validation failed. + If this is the first validation in the list to fail, this reason, as well as the + corresponding HTTP response code, are used in the + HTTP response to the client. + The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". + If not set, StatusReasonInvalid is used in the response to the client. + type: string + required: + - expression + type: object + type: array + x-kubernetes-list-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + items: + description: Variable is the definition of a variable that is used + for composition. A variable is defined as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + webhookConfiguration: + description: WebhookConfiguration defines the configuration for the + webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + required: + - attestors + - validations + type: object + status: + description: Status contains policy runtime data. + properties: + autogen: + properties: + configs: + additionalProperties: + properties: + spec: + description: ImageValidatingPolicySpec is the specification + of the desired behavior of the ImageValidatingPolicy. + properties: + attestations: + description: Attestations provides a list of image metadata + to verify + items: + description: Attestation defines the identification + details of the metadata that has to be verified + properties: + intoto: + description: InToto defines the details of attestation + attached using intoto format + properties: + type: + description: Type defines the type of attestation + contained within the statement. + type: string + required: + - type + type: object + name: + description: Name is the name for this attestation. + It is used to refer to the attestation in verification + type: string + referrer: + description: Referrer defines the details of attestation + attached using OCI 1.1 format + properties: + type: + description: Type defines the type of attestation + attached to the image. + type: string + required: + - type + type: object + required: + - name + type: object + type: array + attestors: + description: Attestors provides a list of trusted authorities. + items: + description: Attestor is an identity that confirms + or verifies the authenticity of an image or an attestation + oneOf: + - required: + - cosign + - required: + - notary + properties: + cosign: + description: Cosign defines attestor configuration + for Cosign based signatures + properties: + annotations: + additionalProperties: + type: string + description: |- + Annotations are used for image verification. + Every specified key-value pair must exist and match in the verified payload. + The payload may contain other key-value pairs. + type: object + certificate: + description: Certificate defines the configuration + for local signature verification + properties: + cert: + description: Certificate is the to the + public certificate for local signature + verification. + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the + a CEL expression input. + type: string + value: + description: Value defines the raw + string input. + type: string + type: object + certChain: + description: |- + CertificateChain is the list of CA certificates in PEM format which will be needed + when building the certificate chain for the signing certificate. Must start with the + parent intermediate CA certificate of the signing certificate and end with the root certificate + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the + a CEL expression input. + type: string + value: + description: Value defines the raw + string input. + type: string + type: object + type: object + ctlog: + description: CTLog sets the configuration + to verify the authority against a Rekor + instance. + properties: + ctLogPubKey: + description: CTLogPubKey, if set, is used + to validate SCTs against a custom source. + type: string + insecureIgnoreSCT: + description: |- + IgnoreSCT defines whether to use the Signed Certificate Timestamp (SCT) log to check for a certificate + timestamp. Default is false. Set to true if this was opted out during signing. + type: boolean + insecureIgnoreTlog: + description: InsecureIgnoreTlog skips + transparency log verification. + type: boolean + rekorPubKey: + description: |- + RekorPubKey is an optional PEM-encoded public key to use for a custom Rekor. + If set, this will be used to validate transparency log signatures from a custom Rekor. + type: string + tsaCertChain: + description: |- + TSACertChain, if set, is the PEM-encoded certificate chain file for the RFC3161 timestamp authority. Must + contain the root CA certificate. Optionally may contain intermediate CA certificates, and + may contain the leaf TSA certificate if not present in the timestamurce. + type: string + url: + description: URL sets the url to the rekor + instance (by default the public rekor.sigstore.dev) + type: string + type: object + key: + description: Key defines the type of key to + validate the image. + properties: + data: + description: Data contains the inline + public key + type: string + expression: + description: Expression is a Expression + expression that returns the public key. + type: string + hashAlgorithm: + description: |- + HashAlgorithm specifues signature algorithm for public keys. Supported values are + sha224, sha256, sha384 and sha512. Defaults to sha256. + type: string + kms: + description: |- + KMS contains the KMS url of the public key + Supported formats differ based on the KMS system used. + type: string + type: object + keyless: + description: Keyless sets the configuration + to verify the authority against a Fulcio + instance. + properties: + identities: + description: Identities sets a list of + identities. + items: + description: |- + Identity may contain the issuer and/or the subject found in the transparency + log. + Issuer/Subject uses a strict match, while IssuerRegExp and SubjectRegExp + apply a regexp for matching. + properties: + issuer: + description: Issuer defines the + issuer for this identity. + type: string + issuerRegExp: + description: IssuerRegExp specifies + a regular expression to match + the issuer for this identity. + type: string + subject: + description: Subject defines the + subject for this identity. + type: string + subjectRegExp: + description: SubjectRegExp specifies + a regular expression to match + the subject for this identity. + type: string + type: object + type: array + roots: + description: |- + Roots is an optional set of PEM encoded trusted root certificates. + If not provided, the system roots are used. + type: string + required: + - identities + type: object + source: + description: Sources sets the configuration + to specify the sources from where to consume + the signature and attestations. + properties: + PullSecrets: + description: |- + SignaturePullSecrets is an optional list of references to secrets in the + same namespace as the deploying resource for pulling any of the signatures + used by this Source. + items: + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. + properties: + name: + default: "" + 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 + type: object + x-kubernetes-map-type: atomic + type: array + repository: + description: Repository defines the location + from where to pull the signature / attestations. + type: string + tagPrefix: + description: |- + TagPrefix is an optional prefix that signature and attestations have. + This is the 'tag based discovery' and in the future once references are + fully supported that should likely be the preferred way to handle these. + type: string + type: object + tuf: + description: TUF defines the configuration + to fetch sigstore root + properties: + mirror: + description: Mirror is the base URL of + Sigstore TUF repository + type: string + root: + description: Root defines the path or + data of the trusted root + properties: + data: + description: Data is the base64 encoded + TUF root + type: string + path: + description: Path is the URL or File + location of the TUF root + type: string + type: object + type: object + type: object + name: + description: Name is the name for this attestor. + It is used to refer to the attestor in verification + type: string + notary: + description: Notary defines attestor configuration + for Notary based signatures + properties: + certs: + description: Certs define the cert chain for + Notary signature verification + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a + CEL expression input. + type: string + value: + description: Value defines the raw string + input. + type: string + type: object + tsaCerts: + description: TSACerts define the cert chain + for verifying timestamps of notary signature + oneOf: + - required: + - value + - required: + - expression + properties: + expression: + description: Expression defines the a + CEL expression input. + type: string + value: + description: Value defines the raw string + input. + type: string + type: object + type: object + required: + - name + type: object + type: array + auditAnnotations: + description: |- + auditAnnotations contains CEL expressions which are used to produce audit + annotations for the audit event of the API request. + validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is + required. + items: + description: AuditAnnotation describes how to produce + an audit annotation for an API request. + properties: + key: + description: |- + key specifies the audit annotation key. The audit annotation keys of + a ValidatingAdmissionPolicy must be unique. The key must be a qualified + name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length. + + The key is combined with the resource name of the + ValidatingAdmissionPolicy to construct an audit annotation key: + "{ValidatingAdmissionPolicy name}/{key}". + + If an admission webhook uses the same resource name as this ValidatingAdmissionPolicy + and the same audit annotation key, the annotation key will be identical. + In this case, the first annotation written with the key will be included + in the audit event and all subsequent annotations with the same key + will be discarded. + + Required. + type: string + valueExpression: + description: |- + valueExpression represents the expression which is evaluated by CEL to + produce an audit annotation value. The expression must evaluate to either + a string or null value. If the expression evaluates to a string, the + audit annotation is included with the string value. If the expression + evaluates to null or empty string the audit annotation will be omitted. + The valueExpression may be no longer than 5kb in length. + If the result of the valueExpression is more than 10kb in length, it + will be truncated to 10kb. + + If multiple ValidatingAdmissionPolicyBinding resources match an + API request, then the valueExpression will be evaluated for + each binding. All unique values produced by the valueExpressions + will be joined together in a comma-separated list. + + Required. + type: string + required: + - key + - valueExpression + type: object + type: array + x-kubernetes-list-type: atomic + autogen: + description: AutogenConfiguration defines the configuration + for the generation controller. + properties: + podControllers: + description: PodControllers specifies whether to + generate a pod controllers rules. + properties: + controllers: + items: + type: string + type: array + type: object + type: object + credentials: + description: Credentials provides credentials that will + be used for authentication with registry. + properties: + allowInsecureRegistry: + description: AllowInsecureRegistry allows insecure + access to a registry. + type: boolean + providers: + description: |- + Providers specifies a list of OCI Registry names, whose authentication providers are provided. + It can be of one of these values: default,google,azure,amazon,github. + items: + description: CredentialsProvidersType provides + the list of credential providers required. + enum: + - default + - amazon + - azure + - google + - github + type: string + type: array + secrets: + description: |- + Secrets specifies a list of secrets that are provided for credentials. + Secrets must live in the Kyverno namespace. + items: + type: string + type: array + type: object + evaluation: + description: EvaluationConfiguration defines the configuration + for the policy evaluation. + properties: + admission: + description: Admission controls policy evaluation + during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + background: + description: Background controls policy evaluation + during background scan. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied to existing resources during a background scan. + Optional. Default value is "true". The value must be set to "false" if the policy rule + uses variables that are only available in the admission review request (e.g. user name). + type: boolean + type: object + mode: + description: |- + Mode is the mode of policy evaluation. + Allowed values are "Kubernetes" or "JSON". + Optional. Default value is "Kubernetes". + type: string + type: object + failurePolicy: + description: |- + FailurePolicy defines how to handle failures for the admission policy. Failures can + occur from CEL expression parse errors, type check errors, runtime errors and invalid + or mis-configured policy definitions or bindings. + enum: + - Ignore + - Fail + type: string + images: + description: ImageExtractors is a list of CEL expression + to extract images from the resource + items: + properties: + expression: + description: Expression defines CEL expression + to extract images from the resource. + type: string + name: + description: Name is the name for this imageList. + It is used to refer to the images in verification + block as images. + type: string + required: + - expression + - name + type: object + type: array + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. + items: + description: MatchCondition represents a condition + which must by fulfilled for a request to be sent + to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + matchConstraints: + description: MatchConstraints specifies what resources + this policy is designed to validate. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + matchImageReferences: + description: |- + MatchImageReferences is a list of Glob and CELExpressions to match images. + Any image that matches one of the rules is considered for validation + Any image that does not match a rule is skipped, even when they are passed as arguments to + image verification functions + items: + description: MatchImageReference defines a Glob or + a CEL expression for matching images + oneOf: + - required: + - glob + - required: + - expression + properties: + expression: + description: Expression defines CEL Expressions + for matching images + type: string + glob: + description: Glob defines a globbing pattern for + matching images + type: string + type: object + type: array + validationActions: + description: |- + ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + + Required. + items: + description: ValidationAction specifies a policy enforcement + action. + enum: + - Deny + - Audit + - Warn + type: string + type: array + x-kubernetes-list-type: set + validationConfigurations: + default: {} + description: ValidationConfigurations defines settings + for mutating and verifying image digests, and enforcing + image verification through signatures. + properties: + mutateDigest: + default: true + description: |- + MutateDigest enables replacement of image tags with digests. + Defaults to true. + type: boolean + required: + default: true + description: Required validates that images are + verified, i.e., have passed a signature or attestation + check. + type: boolean + verifyDigest: + default: true + description: VerifyDigest validates that images + have a digest. + type: boolean + type: object + validations: + description: Validations contain CEL expressions which + is used to apply the image validation checks. + items: + description: Validation specifies the CEL expression + which is used to apply the validation. + properties: + expression: + description: "Expression represents the expression + which will be evaluated by CEL.\nref: https://github.com/google/cel-spec\nCEL + expressions have access to the contents of the + API request/response, organized into CEL variables + as well as some other useful variables:\n\n- + 'object' - The object from the incoming request. + The value is null for DELETE requests.\n- 'oldObject' + - The existing object. The value is null for + CREATE requests.\n- 'request' - Attributes of + the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).\n- + 'params' - Parameter resource referred to by + the policy binding being evaluated. Only populated + if the policy has a ParamKind.\n- 'namespaceObject' + - The namespace object that the incoming object + belongs to. The value is null for cluster-scoped + resources.\n- 'variables' - Map of composited + variables, from its name to its lazily evaluated + value.\n For example, a variable named 'foo' + can be accessed as 'variables.foo'.\n- 'authorizer' + - A CEL Authorizer. May be used to perform authorization + checks for the principal (user or service account) + of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- + 'authorizer.requestResource' - A CEL ResourceCheck + constructed from the 'authorizer' and configured + with the\n request resource.\n\nThe `apiVersion`, + `kind`, `metadata.name` and `metadata.generateName` + are always accessible from the root of the\nobject. + No other metadata properties are accessible.\n\nOnly + property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` + are accessible.\nAccessible property names are + escaped according to the following rules when + accessed in the expression:\n- '__' escapes + to '__underscores__'\n- '.' escapes to '__dot__'\n- + '-' escapes to '__dash__'\n- '/' escapes to + '__slash__'\n- Property names that exactly match + a CEL RESERVED keyword escape to '__{keyword}__'. + The keywords are:\n\t \"true\", \"false\", + \"null\", \"in\", \"as\", \"break\", \"const\", + \"continue\", \"else\", \"for\", \"function\", + \"if\",\n\t \"import\", \"let\", \"loop\", + \"package\", \"namespace\", \"return\".\nExamples:\n + \ - Expression accessing a property named \"namespace\": + {\"Expression\": \"object.__namespace__ > 0\"}\n + \ - Expression accessing a property named \"x-prop\": + {\"Expression\": \"object.x__dash__prop > 0\"}\n + \ - Expression accessing a property named \"redact__d\": + {\"Expression\": \"object.redact__underscores__d + > 0\"}\n\nEquality on arrays with list type + of 'set' or 'map' ignores element order, i.e. + [1, 2] == [2, 1].\nConcatenation on arrays with + x-kubernetes-list-type use the semantics of + the list type:\n - 'set': `X + Y` performs + a union where the array positions of all elements + in `X` are preserved and\n non-intersecting + elements in `Y` are appended, retaining their + partial order.\n - 'map': `X + Y` performs + a merge where the array positions of all keys + in `X` are preserved but the values\n are + overwritten by values in `Y` when the key sets + of `X` and `Y` intersect. Elements in `Y` with\n + \ non-intersecting keys are appended, retaining + their partial order.\nRequired." + type: string + message: + description: |- + Message represents the message displayed when validation fails. The message is required if the Expression contains + line breaks. The message must not contain line breaks. + If unset, the message is "failed rule: {Rule}". + e.g. "must be a URL with the host matching spec.host" + If the Expression contains line breaks. Message is required. + The message must not contain line breaks. + If unset, the message is "failed Expression: {Expression}". + type: string + messageExpression: + description: |- + messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. + Since messageExpression is used as a failure message, it must evaluate to a string. + If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. + If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced + as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string + that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and + the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. + messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. + Example: + "object.x must be less than max ("+string(params.max)+")" + type: string + reason: + description: |- + Reason represents a machine-readable description of why this validation failed. + If this is the first validation in the list to fail, this reason, as well as the + corresponding HTTP response code, are used in the + HTTP response to the client. + The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". + If not set, StatusReasonInvalid is used in the response to the client. + type: string + required: + - expression + type: object + type: array + x-kubernetes-list-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + items: + description: Variable is the definition of a variable + that is used for composition. A variable is defined + as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + webhookConfiguration: + description: WebhookConfiguration defines the configuration + for the webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + required: + - attestors + - validations + type: object + targets: + items: + properties: + group: + type: string + kind: + type: string + resource: + type: string + version: + type: string + required: + - kind + - resource + - version + type: object + type: array + required: + - spec + - targets + type: object + type: object + type: object + conditionStatus: + description: ConditionStatus is the shared status across all policy + types + properties: + conditions: + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + message: + description: |- + Message is a human readable message indicating details about the generation of ValidatingAdmissionPolicy/MutatingAdmissionPolicy + It is an empty string when ValidatingAdmissionPolicy/MutatingAdmissionPolicy is successfully generated. + type: string + ready: + description: |- + The ready of a policy is a high-level summary of where the policy is in its lifecycle. + The conditions array, the reason and message fields contain more detail about the policy's status. + type: boolean + type: object + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/modules/security/kyverno/base/crds/namespacedvalidatingpolicies.policies.kyverno.io.yaml b/modules/security/kyverno/base/crds/namespacedvalidatingpolicies.policies.kyverno.io.yaml new file mode 100644 index 00000000..e0851247 --- /dev/null +++ b/modules/security/kyverno/base/crds/namespacedvalidatingpolicies.policies.kyverno.io.yaml @@ -0,0 +1,1582 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.18.0 + name: namespacedvalidatingpolicies.policies.kyverno.io +spec: + group: policies.kyverno.io + names: + categories: + - kyverno + kind: NamespacedValidatingPolicy + listKind: NamespacedValidatingPolicyList + plural: namespacedvalidatingpolicies + shortNames: + - nvpol + singular: namespacedvalidatingpolicy + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .status.conditionStatus.ready + name: READY + type: string + name: v1beta1 + schema: + openAPIV3Schema: + 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 + 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 + metadata: + type: object + spec: + description: ValidatingPolicySpec is the specification of the desired + behavior of the ValidatingPolicy. + properties: + auditAnnotations: + description: |- + auditAnnotations contains CEL expressions which are used to produce audit + annotations for the audit event of the API request. + validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is + required. + items: + description: AuditAnnotation describes how to produce an audit annotation + for an API request. + properties: + key: + description: |- + key specifies the audit annotation key. The audit annotation keys of + a ValidatingAdmissionPolicy must be unique. The key must be a qualified + name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length. + + The key is combined with the resource name of the + ValidatingAdmissionPolicy to construct an audit annotation key: + "{ValidatingAdmissionPolicy name}/{key}". + + If an admission webhook uses the same resource name as this ValidatingAdmissionPolicy + and the same audit annotation key, the annotation key will be identical. + In this case, the first annotation written with the key will be included + in the audit event and all subsequent annotations with the same key + will be discarded. + + Required. + type: string + valueExpression: + description: |- + valueExpression represents the expression which is evaluated by CEL to + produce an audit annotation value. The expression must evaluate to either + a string or null value. If the expression evaluates to a string, the + audit annotation is included with the string value. If the expression + evaluates to null or empty string the audit annotation will be omitted. + The valueExpression may be no longer than 5kb in length. + If the result of the valueExpression is more than 10kb in length, it + will be truncated to 10kb. + + If multiple ValidatingAdmissionPolicyBinding resources match an + API request, then the valueExpression will be evaluated for + each binding. All unique values produced by the valueExpressions + will be joined together in a comma-separated list. + + Required. + type: string + required: + - key + - valueExpression + type: object + type: array + x-kubernetes-list-type: atomic + autogen: + description: AutogenConfiguration defines the configuration for the + generation controller. + properties: + podControllers: + description: PodControllers specifies whether to generate a pod + controllers rules. + properties: + controllers: + items: + type: string + type: array + type: object + validatingAdmissionPolicy: + description: ValidatingAdmissionPolicy specifies whether to generate + a Kubernetes ValidatingAdmissionPolicy. + properties: + enabled: + description: |- + Enabled specifies whether to generate a Kubernetes ValidatingAdmissionPolicy. + Optional. Defaults to "false" if not specified. + type: boolean + type: object + type: object + evaluation: + description: EvaluationConfiguration defines the configuration for + the policy evaluation. + properties: + admission: + description: Admission controls policy evaluation during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + background: + description: Background controls policy evaluation during background + scan. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied to existing resources during a background scan. + Optional. Default value is "true". The value must be set to "false" if the policy rule + uses variables that are only available in the admission review request (e.g. user name). + type: boolean + type: object + mode: + description: |- + Mode is the mode of policy evaluation. + Allowed values are "Kubernetes" or "JSON". + Optional. Default value is "Kubernetes". + type: string + type: object + failurePolicy: + description: |- + failurePolicy defines how to handle failures for the admission policy. Failures can + occur from CEL expression parse errors, type check errors, runtime errors and invalid + or mis-configured policy definitions or bindings. + + failurePolicy does not define how validations that evaluate to false are handled. + + When failurePolicy is set to Fail, the validationActions field define how failures are enforced. + + Allowed values are Ignore or Fail. Defaults to Fail. + enum: + - Ignore + - Fail + type: string + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. + + The exact matching logic is (in order): + 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. + 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated. + 3. If any matchCondition evaluates to an error (but none are FALSE): + - If failurePolicy=Fail, reject the request + - If failurePolicy=Ignore, the policy is skipped + items: + description: MatchCondition represents a condition which must by + fulfilled for a request to be sent to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + matchConstraints: + description: |- + MatchConstraints specifies what resources this policy is designed to validate. + The AdmissionPolicy cares about a request if it matches _all_ Constraints. + Required. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + validationActions: + description: |- + ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + + Required. + items: + description: ValidationAction specifies a policy enforcement action. + enum: + - Deny + - Audit + - Warn + type: string + type: array + x-kubernetes-list-type: set + validations: + description: |- + Validations contain CEL expressions which is used to apply the validation. + Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is + required. + items: + description: Validation specifies the CEL expression which is used + to apply the validation. + properties: + expression: + description: "Expression represents the expression which will + be evaluated by CEL.\nref: https://github.com/google/cel-spec\nCEL + expressions have access to the contents of the API request/response, + organized into CEL variables as well as some other useful + variables:\n\n- 'object' - The object from the incoming request. + The value is null for DELETE requests.\n- 'oldObject' - The + existing object. The value is null for CREATE requests.\n- + 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).\n- + 'params' - Parameter resource referred to by the policy binding + being evaluated. Only populated if the policy has a ParamKind.\n- + 'namespaceObject' - The namespace object that the incoming + object belongs to. The value is null for cluster-scoped resources.\n- + 'variables' - Map of composited variables, from its name to + its lazily evaluated value.\n For example, a variable named + 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' + - A CEL Authorizer. May be used to perform authorization checks + for the principal (user or service account) of the request.\n + \ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- + 'authorizer.requestResource' - A CEL ResourceCheck constructed + from the 'authorizer' and configured with the\n request resource.\n\nThe + `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` + are always accessible from the root of the\nobject. No other + metadata properties are accessible.\n\nOnly property names + of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.\nAccessible + property names are escaped according to the following rules + when accessed in the expression:\n- '__' escapes to '__underscores__'\n- + '.' escapes to '__dot__'\n- '-' escapes to '__dash__'\n- '/' + escapes to '__slash__'\n- Property names that exactly match + a CEL RESERVED keyword escape to '__{keyword}__'. The keywords + are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", + \"const\", \"continue\", \"else\", \"for\", \"function\", + \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", + \"return\".\nExamples:\n - Expression accessing a property + named \"namespace\": {\"Expression\": \"object.__namespace__ + > 0\"}\n - Expression accessing a property named \"x-prop\": + {\"Expression\": \"object.x__dash__prop > 0\"}\n - Expression + accessing a property named \"redact__d\": {\"Expression\": + \"object.redact__underscores__d > 0\"}\n\nEquality on arrays + with list type of 'set' or 'map' ignores element order, i.e. + [1, 2] == [2, 1].\nConcatenation on arrays with x-kubernetes-list-type + use the semantics of the list type:\n - 'set': `X + Y` performs + a union where the array positions of all elements in `X` are + preserved and\n non-intersecting elements in `Y` are appended, + retaining their partial order.\n - 'map': `X + Y` performs + a merge where the array positions of all keys in `X` are preserved + but the values\n are overwritten by values in `Y` when + the key sets of `X` and `Y` intersect. Elements in `Y` with\n + \ non-intersecting keys are appended, retaining their partial + order.\nRequired." + type: string + message: + description: |- + Message represents the message displayed when validation fails. The message is required if the Expression contains + line breaks. The message must not contain line breaks. + If unset, the message is "failed rule: {Rule}". + e.g. "must be a URL with the host matching spec.host" + If the Expression contains line breaks. Message is required. + The message must not contain line breaks. + If unset, the message is "failed Expression: {Expression}". + type: string + messageExpression: + description: |- + messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. + Since messageExpression is used as a failure message, it must evaluate to a string. + If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. + If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced + as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string + that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and + the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. + messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. + Example: + "object.x must be less than max ("+string(params.max)+")" + type: string + reason: + description: |- + Reason represents a machine-readable description of why this validation failed. + If this is the first validation in the list to fail, this reason, as well as the + corresponding HTTP response code, are used in the + HTTP response to the client. + The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". + If not set, StatusReasonInvalid is used in the response to the client. + type: string + required: + - expression + type: object + type: array + x-kubernetes-list-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + The variables defined here will be available under `variables` in other expressions of the policy + except MatchConditions because MatchConditions are evaluated before the rest of the policy. + + The expression of a variable can refer to other variables defined earlier in the list but not those after. + Thus, Variables must be sorted by the order of first appearance and acyclic. + items: + description: Variable is the definition of a variable that is used + for composition. A variable is defined as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + webhookConfiguration: + description: WebhookConfiguration defines the configuration for the + webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + type: object + status: + description: Status contains policy runtime data. + properties: + autogen: + properties: + configs: + additionalProperties: + properties: + spec: + description: ValidatingPolicySpec is the specification of + the desired behavior of the ValidatingPolicy. + properties: + auditAnnotations: + description: |- + auditAnnotations contains CEL expressions which are used to produce audit + annotations for the audit event of the API request. + validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is + required. + items: + description: AuditAnnotation describes how to produce + an audit annotation for an API request. + properties: + key: + description: |- + key specifies the audit annotation key. The audit annotation keys of + a ValidatingAdmissionPolicy must be unique. The key must be a qualified + name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length. + + The key is combined with the resource name of the + ValidatingAdmissionPolicy to construct an audit annotation key: + "{ValidatingAdmissionPolicy name}/{key}". + + If an admission webhook uses the same resource name as this ValidatingAdmissionPolicy + and the same audit annotation key, the annotation key will be identical. + In this case, the first annotation written with the key will be included + in the audit event and all subsequent annotations with the same key + will be discarded. + + Required. + type: string + valueExpression: + description: |- + valueExpression represents the expression which is evaluated by CEL to + produce an audit annotation value. The expression must evaluate to either + a string or null value. If the expression evaluates to a string, the + audit annotation is included with the string value. If the expression + evaluates to null or empty string the audit annotation will be omitted. + The valueExpression may be no longer than 5kb in length. + If the result of the valueExpression is more than 10kb in length, it + will be truncated to 10kb. + + If multiple ValidatingAdmissionPolicyBinding resources match an + API request, then the valueExpression will be evaluated for + each binding. All unique values produced by the valueExpressions + will be joined together in a comma-separated list. + + Required. + type: string + required: + - key + - valueExpression + type: object + type: array + x-kubernetes-list-type: atomic + autogen: + description: AutogenConfiguration defines the configuration + for the generation controller. + properties: + podControllers: + description: PodControllers specifies whether to + generate a pod controllers rules. + properties: + controllers: + items: + type: string + type: array + type: object + validatingAdmissionPolicy: + description: ValidatingAdmissionPolicy specifies + whether to generate a Kubernetes ValidatingAdmissionPolicy. + properties: + enabled: + description: |- + Enabled specifies whether to generate a Kubernetes ValidatingAdmissionPolicy. + Optional. Defaults to "false" if not specified. + type: boolean + type: object + type: object + evaluation: + description: EvaluationConfiguration defines the configuration + for the policy evaluation. + properties: + admission: + description: Admission controls policy evaluation + during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + background: + description: Background controls policy evaluation + during background scan. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied to existing resources during a background scan. + Optional. Default value is "true". The value must be set to "false" if the policy rule + uses variables that are only available in the admission review request (e.g. user name). + type: boolean + type: object + mode: + description: |- + Mode is the mode of policy evaluation. + Allowed values are "Kubernetes" or "JSON". + Optional. Default value is "Kubernetes". + type: string + type: object + failurePolicy: + description: |- + failurePolicy defines how to handle failures for the admission policy. Failures can + occur from CEL expression parse errors, type check errors, runtime errors and invalid + or mis-configured policy definitions or bindings. + + failurePolicy does not define how validations that evaluate to false are handled. + + When failurePolicy is set to Fail, the validationActions field define how failures are enforced. + + Allowed values are Ignore or Fail. Defaults to Fail. + enum: + - Ignore + - Fail + type: string + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. + + The exact matching logic is (in order): + 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. + 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated. + 3. If any matchCondition evaluates to an error (but none are FALSE): + - If failurePolicy=Fail, reject the request + - If failurePolicy=Ignore, the policy is skipped + items: + description: MatchCondition represents a condition + which must by fulfilled for a request to be sent + to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + matchConstraints: + description: |- + MatchConstraints specifies what resources this policy is designed to validate. + The AdmissionPolicy cares about a request if it matches _all_ Constraints. + Required. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + validationActions: + description: |- + ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + + Required. + items: + description: ValidationAction specifies a policy enforcement + action. + enum: + - Deny + - Audit + - Warn + type: string + type: array + x-kubernetes-list-type: set + validations: + description: |- + Validations contain CEL expressions which is used to apply the validation. + Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is + required. + items: + description: Validation specifies the CEL expression + which is used to apply the validation. + properties: + expression: + description: "Expression represents the expression + which will be evaluated by CEL.\nref: https://github.com/google/cel-spec\nCEL + expressions have access to the contents of the + API request/response, organized into CEL variables + as well as some other useful variables:\n\n- + 'object' - The object from the incoming request. + The value is null for DELETE requests.\n- 'oldObject' + - The existing object. The value is null for + CREATE requests.\n- 'request' - Attributes of + the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).\n- + 'params' - Parameter resource referred to by + the policy binding being evaluated. Only populated + if the policy has a ParamKind.\n- 'namespaceObject' + - The namespace object that the incoming object + belongs to. The value is null for cluster-scoped + resources.\n- 'variables' - Map of composited + variables, from its name to its lazily evaluated + value.\n For example, a variable named 'foo' + can be accessed as 'variables.foo'.\n- 'authorizer' + - A CEL Authorizer. May be used to perform authorization + checks for the principal (user or service account) + of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- + 'authorizer.requestResource' - A CEL ResourceCheck + constructed from the 'authorizer' and configured + with the\n request resource.\n\nThe `apiVersion`, + `kind`, `metadata.name` and `metadata.generateName` + are always accessible from the root of the\nobject. + No other metadata properties are accessible.\n\nOnly + property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` + are accessible.\nAccessible property names are + escaped according to the following rules when + accessed in the expression:\n- '__' escapes + to '__underscores__'\n- '.' escapes to '__dot__'\n- + '-' escapes to '__dash__'\n- '/' escapes to + '__slash__'\n- Property names that exactly match + a CEL RESERVED keyword escape to '__{keyword}__'. + The keywords are:\n\t \"true\", \"false\", + \"null\", \"in\", \"as\", \"break\", \"const\", + \"continue\", \"else\", \"for\", \"function\", + \"if\",\n\t \"import\", \"let\", \"loop\", + \"package\", \"namespace\", \"return\".\nExamples:\n + \ - Expression accessing a property named \"namespace\": + {\"Expression\": \"object.__namespace__ > 0\"}\n + \ - Expression accessing a property named \"x-prop\": + {\"Expression\": \"object.x__dash__prop > 0\"}\n + \ - Expression accessing a property named \"redact__d\": + {\"Expression\": \"object.redact__underscores__d + > 0\"}\n\nEquality on arrays with list type + of 'set' or 'map' ignores element order, i.e. + [1, 2] == [2, 1].\nConcatenation on arrays with + x-kubernetes-list-type use the semantics of + the list type:\n - 'set': `X + Y` performs + a union where the array positions of all elements + in `X` are preserved and\n non-intersecting + elements in `Y` are appended, retaining their + partial order.\n - 'map': `X + Y` performs + a merge where the array positions of all keys + in `X` are preserved but the values\n are + overwritten by values in `Y` when the key sets + of `X` and `Y` intersect. Elements in `Y` with\n + \ non-intersecting keys are appended, retaining + their partial order.\nRequired." + type: string + message: + description: |- + Message represents the message displayed when validation fails. The message is required if the Expression contains + line breaks. The message must not contain line breaks. + If unset, the message is "failed rule: {Rule}". + e.g. "must be a URL with the host matching spec.host" + If the Expression contains line breaks. Message is required. + The message must not contain line breaks. + If unset, the message is "failed Expression: {Expression}". + type: string + messageExpression: + description: |- + messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. + Since messageExpression is used as a failure message, it must evaluate to a string. + If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. + If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced + as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string + that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and + the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. + messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. + Example: + "object.x must be less than max ("+string(params.max)+")" + type: string + reason: + description: |- + Reason represents a machine-readable description of why this validation failed. + If this is the first validation in the list to fail, this reason, as well as the + corresponding HTTP response code, are used in the + HTTP response to the client. + The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". + If not set, StatusReasonInvalid is used in the response to the client. + type: string + required: + - expression + type: object + type: array + x-kubernetes-list-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + The variables defined here will be available under `variables` in other expressions of the policy + except MatchConditions because MatchConditions are evaluated before the rest of the policy. + + The expression of a variable can refer to other variables defined earlier in the list but not those after. + Thus, Variables must be sorted by the order of first appearance and acyclic. + items: + description: Variable is the definition of a variable + that is used for composition. A variable is defined + as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + webhookConfiguration: + description: WebhookConfiguration defines the configuration + for the webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + type: object + targets: + items: + properties: + group: + type: string + kind: + type: string + resource: + type: string + version: + type: string + required: + - kind + - resource + - version + type: object + type: array + required: + - spec + - targets + type: object + type: object + type: object + conditionStatus: + description: ConditionStatus is the shared status across all policy + types + properties: + conditions: + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + message: + description: |- + Message is a human readable message indicating details about the generation of ValidatingAdmissionPolicy/MutatingAdmissionPolicy + It is an empty string when ValidatingAdmissionPolicy/MutatingAdmissionPolicy is successfully generated. + type: string + ready: + description: |- + The ready of a policy is a high-level summary of where the policy is in its lifecycle. + The conditions array, the reason and message fields contain more detail about the policy's status. + type: boolean + type: object + generated: + description: Generated indicates whether a ValidatingAdmissionPolicy/MutatingAdmissionPolicy + is generated from the policy or not + type: boolean + type: object + required: + - spec + type: object + selectableFields: + - jsonPath: .spec.evaluation.mode + served: true + storage: true + subresources: + status: {} diff --git a/modules/security/kyverno/base/crds/policies.kyverno.io.yaml b/modules/security/kyverno/base/crds/policies.kyverno.io.yaml index adb265d2..45dd00e8 100644 --- a/modules/security/kyverno/base/crds/policies.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/policies.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: policies.kyverno.io spec: group: kyverno.io @@ -4194,7 +4194,7 @@ spec: version: description: |- Version defines the Pod Security Standard versions that Kubernetes supports. - Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, latest. Defaults to latest. + Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, v1.30, v1.31, v1.32, latest. Defaults to latest. enum: - v1.19 - v1.20 @@ -4207,6 +4207,9 @@ spec: - v1.27 - v1.28 - v1.29 + - v1.30 + - v1.31 + - v1.32 - latest type: string type: object @@ -9328,7 +9331,7 @@ spec: version: description: |- Version defines the Pod Security Standard versions that Kubernetes supports. - Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, latest. Defaults to latest. + Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, v1.30, v1.31, v1.32, latest. Defaults to latest. enum: - v1.19 - v1.20 @@ -9341,6 +9344,9 @@ spec: - v1.27 - v1.28 - v1.29 + - v1.30 + - v1.31 + - v1.32 - latest type: string type: object @@ -14233,7 +14239,7 @@ spec: version: description: |- Version defines the Pod Security Standard versions that Kubernetes supports. - Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, latest. Defaults to latest. + Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, v1.30, v1.31, v1.32, latest. Defaults to latest. enum: - v1.19 - v1.20 @@ -14246,6 +14252,9 @@ spec: - v1.27 - v1.28 - v1.29 + - v1.30 + - v1.31 + - v1.32 - latest type: string type: object @@ -19335,7 +19344,7 @@ spec: version: description: |- Version defines the Pod Security Standard versions that Kubernetes supports. - Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, latest. Defaults to latest. + Allowed values are v1.19, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.28, v1.29, v1.30, v1.31, v1.32, latest. Defaults to latest. enum: - v1.19 - v1.20 @@ -19348,6 +19357,9 @@ spec: - v1.27 - v1.28 - v1.29 + - v1.30 + - v1.31 + - v1.32 - latest type: string type: object diff --git a/modules/security/kyverno/base/crds/policyexceptions.kyverno.io.yaml b/modules/security/kyverno/base/crds/policyexceptions.kyverno.io.yaml index dbd25ed5..725b04a4 100644 --- a/modules/security/kyverno/base/crds/policyexceptions.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/policyexceptions.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: policyexceptions.kyverno.io spec: group: kyverno.io diff --git a/modules/security/kyverno/base/crds/policyexceptions.policies.kyverno.io.yaml b/modules/security/kyverno/base/crds/policyexceptions.policies.kyverno.io.yaml index 189cf0e4..bb61896a 100644 --- a/modules/security/kyverno/base/crds/policyexceptions.policies.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/policyexceptions.policies.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: policyexceptions.policies.kyverno.io spec: group: policies.kyverno.io @@ -40,6 +40,20 @@ spec: spec: description: Spec declares policy exception behaviors. properties: + allowedValues: + description: |- + AllowedValues specifies values that can be used in CEL expressions to bypass policy checks. + These values can be referenced in CEL expressions via `exceptions.allowedValues`. + items: + type: string + type: array + images: + description: |- + Images specifies container images to be excluded from policy evaluation. + These excluded images can be referenced in CEL expressions via `exceptions.allowedImages`. + items: + type: string + type: array matchConditions: description: MatchConditions is a list of CEL expressions that must be met for a resource to be excluded. @@ -96,6 +110,15 @@ spec: - name type: object type: array + reportResult: + default: skip + description: |- + ReportResult indicates whether the policy exception should be reported in the policy report + as a skip result or pass result. Defaults to "skip". + enum: + - skip + - pass + type: string required: - policyRefs type: object @@ -104,3 +127,116 @@ spec: type: object served: true storage: true + - name: v1beta1 + schema: + openAPIV3Schema: + description: PolicyException declares resources to be excluded from specified + policies. + 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 + 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 + metadata: + type: object + spec: + description: Spec declares policy exception behaviors. + properties: + allowedValues: + description: |- + AllowedValues specifies values that can be used in CEL expressions to bypass policy checks. + These values can be referenced in CEL expressions via `exceptions.allowedValues`. + items: + type: string + type: array + images: + description: |- + Images specifies container images to be excluded from policy evaluation. + These excluded images can be referenced in CEL expressions via `exceptions.allowedImages`. + items: + type: string + type: array + matchConditions: + description: MatchConditions is a list of CEL expressions that must + be met for a resource to be excluded. + items: + description: MatchCondition represents a condition which must by + fulfilled for a request to be sent to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + policyRefs: + description: PolicyRefs identifies the policies to which the exception + is applied. + items: + properties: + kind: + description: Kind is the kind of the policy + type: string + name: + description: Name is the name of the policy + type: string + required: + - kind + - name + type: object + type: array + reportResult: + default: skip + description: |- + ReportResult indicates whether the policy exception should be reported in the policy report + as a skip result or pass result. Defaults to "skip". + enum: + - skip + - pass + type: string + required: + - policyRefs + type: object + required: + - spec + type: object + served: true + storage: false diff --git a/modules/security/kyverno/base/crds/policyreports.wgpolicyk8s.io.yaml b/modules/security/kyverno/base/crds/policyreports.wgpolicyk8s.io.yaml index c6d07888..9dd83898 100644 --- a/modules/security/kyverno/base/crds/policyreports.wgpolicyk8s.io.yaml +++ b/modules/security/kyverno/base/crds/policyreports.wgpolicyk8s.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: policyreports.wgpolicyk8s.io spec: group: wgpolicyk8s.io diff --git a/modules/security/kyverno/base/crds/updaterequests.kyverno.io.yaml b/modules/security/kyverno/base/crds/updaterequests.kyverno.io.yaml index 349bfdf2..2f3b58a6 100644 --- a/modules/security/kyverno/base/crds/updaterequests.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/updaterequests.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: updaterequests.kyverno.io spec: group: kyverno.io @@ -396,7 +396,7 @@ spec: - state type: object type: object - served: true + served: false storage: false subresources: status: {} diff --git a/modules/security/kyverno/base/crds/validatingpolicies.policies.kyverno.io.yaml b/modules/security/kyverno/base/crds/validatingpolicies.policies.kyverno.io.yaml index 45683136..234a25a8 100644 --- a/modules/security/kyverno/base/crds/validatingpolicies.policies.kyverno.io.yaml +++ b/modules/security/kyverno/base/crds/validatingpolicies.policies.kyverno.io.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: validatingpolicies.policies.kyverno.io spec: group: policies.kyverno.io @@ -181,8 +181,1567 @@ spec: namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed. - If a parameter object is provided, it can be accessed via the `params` handle in the same - manner as validation expressions. + The exact matching logic is (in order): + 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. + 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated. + 3. If any matchCondition evaluates to an error (but none are FALSE): + - If failurePolicy=Fail, reject the request + - If failurePolicy=Ignore, the policy is skipped + items: + description: MatchCondition represents a condition which must by + fulfilled for a request to be sent to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + matchConstraints: + description: |- + MatchConstraints specifies what resources this policy is designed to validate. + The AdmissionPolicy cares about a request if it matches _all_ Constraints. + Required. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple of Operations + and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an operation for + a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + validationActions: + description: |- + ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + + Required. + items: + description: ValidationAction specifies a policy enforcement action. + enum: + - Deny + - Audit + - Warn + type: string + type: array + x-kubernetes-list-type: set + validations: + description: |- + Validations contain CEL expressions which is used to apply the validation. + Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is + required. + items: + description: Validation specifies the CEL expression which is used + to apply the validation. + properties: + expression: + description: "Expression represents the expression which will + be evaluated by CEL.\nref: https://github.com/google/cel-spec\nCEL + expressions have access to the contents of the API request/response, + organized into CEL variables as well as some other useful + variables:\n\n- 'object' - The object from the incoming request. + The value is null for DELETE requests.\n- 'oldObject' - The + existing object. The value is null for CREATE requests.\n- + 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).\n- + 'params' - Parameter resource referred to by the policy binding + being evaluated. Only populated if the policy has a ParamKind.\n- + 'namespaceObject' - The namespace object that the incoming + object belongs to. The value is null for cluster-scoped resources.\n- + 'variables' - Map of composited variables, from its name to + its lazily evaluated value.\n For example, a variable named + 'foo' can be accessed as 'variables.foo'.\n- 'authorizer' + - A CEL Authorizer. May be used to perform authorization checks + for the principal (user or service account) of the request.\n + \ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- + 'authorizer.requestResource' - A CEL ResourceCheck constructed + from the 'authorizer' and configured with the\n request resource.\n\nThe + `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` + are always accessible from the root of the\nobject. No other + metadata properties are accessible.\n\nOnly property names + of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible.\nAccessible + property names are escaped according to the following rules + when accessed in the expression:\n- '__' escapes to '__underscores__'\n- + '.' escapes to '__dot__'\n- '-' escapes to '__dash__'\n- '/' + escapes to '__slash__'\n- Property names that exactly match + a CEL RESERVED keyword escape to '__{keyword}__'. The keywords + are:\n\t \"true\", \"false\", \"null\", \"in\", \"as\", \"break\", + \"const\", \"continue\", \"else\", \"for\", \"function\", + \"if\",\n\t \"import\", \"let\", \"loop\", \"package\", \"namespace\", + \"return\".\nExamples:\n - Expression accessing a property + named \"namespace\": {\"Expression\": \"object.__namespace__ + > 0\"}\n - Expression accessing a property named \"x-prop\": + {\"Expression\": \"object.x__dash__prop > 0\"}\n - Expression + accessing a property named \"redact__d\": {\"Expression\": + \"object.redact__underscores__d > 0\"}\n\nEquality on arrays + with list type of 'set' or 'map' ignores element order, i.e. + [1, 2] == [2, 1].\nConcatenation on arrays with x-kubernetes-list-type + use the semantics of the list type:\n - 'set': `X + Y` performs + a union where the array positions of all elements in `X` are + preserved and\n non-intersecting elements in `Y` are appended, + retaining their partial order.\n - 'map': `X + Y` performs + a merge where the array positions of all keys in `X` are preserved + but the values\n are overwritten by values in `Y` when + the key sets of `X` and `Y` intersect. Elements in `Y` with\n + \ non-intersecting keys are appended, retaining their partial + order.\nRequired." + type: string + message: + description: |- + Message represents the message displayed when validation fails. The message is required if the Expression contains + line breaks. The message must not contain line breaks. + If unset, the message is "failed rule: {Rule}". + e.g. "must be a URL with the host matching spec.host" + If the Expression contains line breaks. Message is required. + The message must not contain line breaks. + If unset, the message is "failed Expression: {Expression}". + type: string + messageExpression: + description: |- + messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. + Since messageExpression is used as a failure message, it must evaluate to a string. + If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. + If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced + as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string + that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and + the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. + messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. + Example: + "object.x must be less than max ("+string(params.max)+")" + type: string + reason: + description: |- + Reason represents a machine-readable description of why this validation failed. + If this is the first validation in the list to fail, this reason, as well as the + corresponding HTTP response code, are used in the + HTTP response to the client. + The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". + If not set, StatusReasonInvalid is used in the response to the client. + type: string + required: + - expression + type: object + type: array + x-kubernetes-list-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + The variables defined here will be available under `variables` in other expressions of the policy + except MatchConditions because MatchConditions are evaluated before the rest of the policy. + + The expression of a variable can refer to other variables defined earlier in the list but not those after. + Thus, Variables must be sorted by the order of first appearance and acyclic. + items: + description: Variable is the definition of a variable that is used + for composition. A variable is defined as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + webhookConfiguration: + description: WebhookConfiguration defines the configuration for the + webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + type: object + status: + description: Status contains policy runtime data. + properties: + autogen: + properties: + configs: + additionalProperties: + properties: + spec: + description: ValidatingPolicySpec is the specification of + the desired behavior of the ValidatingPolicy. + properties: + auditAnnotations: + description: |- + auditAnnotations contains CEL expressions which are used to produce audit + annotations for the audit event of the API request. + validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is + required. + items: + description: AuditAnnotation describes how to produce + an audit annotation for an API request. + properties: + key: + description: |- + key specifies the audit annotation key. The audit annotation keys of + a ValidatingAdmissionPolicy must be unique. The key must be a qualified + name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length. + + The key is combined with the resource name of the + ValidatingAdmissionPolicy to construct an audit annotation key: + "{ValidatingAdmissionPolicy name}/{key}". + + If an admission webhook uses the same resource name as this ValidatingAdmissionPolicy + and the same audit annotation key, the annotation key will be identical. + In this case, the first annotation written with the key will be included + in the audit event and all subsequent annotations with the same key + will be discarded. + + Required. + type: string + valueExpression: + description: |- + valueExpression represents the expression which is evaluated by CEL to + produce an audit annotation value. The expression must evaluate to either + a string or null value. If the expression evaluates to a string, the + audit annotation is included with the string value. If the expression + evaluates to null or empty string the audit annotation will be omitted. + The valueExpression may be no longer than 5kb in length. + If the result of the valueExpression is more than 10kb in length, it + will be truncated to 10kb. + + If multiple ValidatingAdmissionPolicyBinding resources match an + API request, then the valueExpression will be evaluated for + each binding. All unique values produced by the valueExpressions + will be joined together in a comma-separated list. + + Required. + type: string + required: + - key + - valueExpression + type: object + type: array + x-kubernetes-list-type: atomic + autogen: + description: AutogenConfiguration defines the configuration + for the generation controller. + properties: + podControllers: + description: PodControllers specifies whether to + generate a pod controllers rules. + properties: + controllers: + items: + type: string + type: array + type: object + validatingAdmissionPolicy: + description: ValidatingAdmissionPolicy specifies + whether to generate a Kubernetes ValidatingAdmissionPolicy. + properties: + enabled: + description: |- + Enabled specifies whether to generate a Kubernetes ValidatingAdmissionPolicy. + Optional. Defaults to "false" if not specified. + type: boolean + type: object + type: object + evaluation: + description: EvaluationConfiguration defines the configuration + for the policy evaluation. + properties: + admission: + description: Admission controls policy evaluation + during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + background: + description: Background controls policy evaluation + during background scan. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied to existing resources during a background scan. + Optional. Default value is "true". The value must be set to "false" if the policy rule + uses variables that are only available in the admission review request (e.g. user name). + type: boolean + type: object + mode: + description: |- + Mode is the mode of policy evaluation. + Allowed values are "Kubernetes" or "JSON". + Optional. Default value is "Kubernetes". + type: string + type: object + failurePolicy: + description: |- + failurePolicy defines how to handle failures for the admission policy. Failures can + occur from CEL expression parse errors, type check errors, runtime errors and invalid + or mis-configured policy definitions or bindings. + + failurePolicy does not define how validations that evaluate to false are handled. + + When failurePolicy is set to Fail, the validationActions field define how failures are enforced. + + Allowed values are Ignore or Fail. Defaults to Fail. + enum: + - Ignore + - Fail + type: string + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. + + The exact matching logic is (in order): + 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. + 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated. + 3. If any matchCondition evaluates to an error (but none are FALSE): + - If failurePolicy=Fail, reject the request + - If failurePolicy=Ignore, the policy is skipped + items: + description: MatchCondition represents a condition + which must by fulfilled for a request to be sent + to a webhook. + properties: + expression: + description: |- + Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. + CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: + + 'object' - The object from the incoming request. The value is null for DELETE requests. + 'oldObject' - The existing object. The value is null for CREATE requests. + 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). + 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. + See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz + 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the + request resource. + Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ + + Required. + type: string + name: + description: |- + Name is an identifier for this match condition, used for strategic merging of MatchConditions, + as well as providing an identifier for logging purposes. A good name should be descriptive of + the associated expression. + Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and + must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or + '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an + optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') + + Required. + type: string + required: + - expression + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + matchConstraints: + description: |- + MatchConstraints specifies what resources this policy is designed to validate. + The AdmissionPolicy cares about a request if it matches _all_ Constraints. + Required. + properties: + excludeResourceRules: + description: |- + ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. + The exclude rules take precedence over include rules (if a resource matches both, it is excluded) + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + matchPolicy: + description: |- + matchPolicy defines how the "MatchResources" list is used to match incoming requests. + Allowed values are "Exact" or "Equivalent". + + - Exact: match a request only if it exactly matches a specified rule. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy. + + - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. + For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, + and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, + a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy. + + Defaults to "Equivalent" + type: string + namespaceSelector: + description: |- + NamespaceSelector decides whether to run the admission control policy on an object based + on whether the namespace for that object matches the selector. If the + object itself is a namespace, the matching is performed on + object.metadata.labels. If the object is another cluster scoped resource, + it never skips the policy. + + For example, to run the webhook on any objects whose namespace is not + associated with "runlevel" of "0" or "1"; you will set the selector as + follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "runlevel", + "operator": "NotIn", + "values": [ + "0", + "1" + ] + } + ] + } + + If instead you want to only run the policy on any objects whose + namespace is associated with the "environment" of "prod" or "staging"; + you will set the selector as follows: + "namespaceSelector": { + "matchExpressions": [ + { + "key": "environment", + "operator": "In", + "values": [ + "prod", + "staging" + ] + } + ] + } + + See + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + for more examples of label selectors. + + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + objectSelector: + description: |- + ObjectSelector decides whether to run the validation based on if the + object has matching labels. objectSelector is evaluated against both + the oldObject and newObject that would be sent to the cel validation, and + is considered to match if either object matches the selector. A null + object (oldObject in the case of create, or newObject in the case of + delete) or an object that cannot have labels (like a + DeploymentRollback or a PodProxyOptions object) is not considered to + match. + Use the object selector only if the webhook is opt-in, because end + users may skip the admission webhook by setting the labels. + Default to the empty LabelSelector, which matches everything. + 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 + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + 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 + type: object + x-kubernetes-map-type: atomic + resourceRules: + description: |- + ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. + The policy cares about an operation if it matches _any_ Rule. + items: + description: NamedRuleWithOperations is a tuple + of Operations and Resources with ResourceNames. + properties: + apiGroups: + description: |- + APIGroups is the API groups the resources belong to. '*' is all groups. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + apiVersions: + description: |- + APIVersions is the API versions the resources belong to. '*' is all versions. + If '*' is present, the length of the slice must be one. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + operations: + description: |- + Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * + for all of those operations and any future admission operations that are added. + If '*' is present, the length of the slice must be one. + Required. + items: + description: OperationType specifies an + operation for a request. + type: string + type: array + 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 + type: array + x-kubernetes-list-type: atomic + resources: + description: |- + Resources is a list of resources this rule applies to. + + For example: + 'pods' means pods. + 'pods/log' means the log subresource of pods. + '*' means all resources, but not subresources. + 'pods/*' means all subresources of pods. + '*/scale' means all scale subresources. + '*/*' means all resources and their subresources. + + If wildcard is present, the validation rule will ensure resources do not + overlap with each other. + + Depending on the enclosing object, subresources might not be allowed. + Required. + items: + type: string + type: array + x-kubernetes-list-type: atomic + scope: + description: |- + scope specifies the scope of this rule. + Valid values are "Cluster", "Namespaced", and "*" + "Cluster" means that only cluster-scoped resources will match this rule. + Namespace API objects are cluster-scoped. + "Namespaced" means that only namespaced resources will match this rule. + "*" means that there are no scope restrictions. + Subresources match the scope of their parent resource. + Default is "*". + type: string + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-type: atomic + type: object + x-kubernetes-map-type: atomic + validationActions: + description: |- + ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + + Required. + items: + description: ValidationAction specifies a policy enforcement + action. + enum: + - Deny + - Audit + - Warn + type: string + type: array + x-kubernetes-list-type: set + validations: + description: |- + Validations contain CEL expressions which is used to apply the validation. + Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is + required. + items: + description: Validation specifies the CEL expression + which is used to apply the validation. + properties: + expression: + description: "Expression represents the expression + which will be evaluated by CEL.\nref: https://github.com/google/cel-spec\nCEL + expressions have access to the contents of the + API request/response, organized into CEL variables + as well as some other useful variables:\n\n- + 'object' - The object from the incoming request. + The value is null for DELETE requests.\n- 'oldObject' + - The existing object. The value is null for + CREATE requests.\n- 'request' - Attributes of + the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)).\n- + 'params' - Parameter resource referred to by + the policy binding being evaluated. Only populated + if the policy has a ParamKind.\n- 'namespaceObject' + - The namespace object that the incoming object + belongs to. The value is null for cluster-scoped + resources.\n- 'variables' - Map of composited + variables, from its name to its lazily evaluated + value.\n For example, a variable named 'foo' + can be accessed as 'variables.foo'.\n- 'authorizer' + - A CEL Authorizer. May be used to perform authorization + checks for the principal (user or service account) + of the request.\n See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz\n- + 'authorizer.requestResource' - A CEL ResourceCheck + constructed from the 'authorizer' and configured + with the\n request resource.\n\nThe `apiVersion`, + `kind`, `metadata.name` and `metadata.generateName` + are always accessible from the root of the\nobject. + No other metadata properties are accessible.\n\nOnly + property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` + are accessible.\nAccessible property names are + escaped according to the following rules when + accessed in the expression:\n- '__' escapes + to '__underscores__'\n- '.' escapes to '__dot__'\n- + '-' escapes to '__dash__'\n- '/' escapes to + '__slash__'\n- Property names that exactly match + a CEL RESERVED keyword escape to '__{keyword}__'. + The keywords are:\n\t \"true\", \"false\", + \"null\", \"in\", \"as\", \"break\", \"const\", + \"continue\", \"else\", \"for\", \"function\", + \"if\",\n\t \"import\", \"let\", \"loop\", + \"package\", \"namespace\", \"return\".\nExamples:\n + \ - Expression accessing a property named \"namespace\": + {\"Expression\": \"object.__namespace__ > 0\"}\n + \ - Expression accessing a property named \"x-prop\": + {\"Expression\": \"object.x__dash__prop > 0\"}\n + \ - Expression accessing a property named \"redact__d\": + {\"Expression\": \"object.redact__underscores__d + > 0\"}\n\nEquality on arrays with list type + of 'set' or 'map' ignores element order, i.e. + [1, 2] == [2, 1].\nConcatenation on arrays with + x-kubernetes-list-type use the semantics of + the list type:\n - 'set': `X + Y` performs + a union where the array positions of all elements + in `X` are preserved and\n non-intersecting + elements in `Y` are appended, retaining their + partial order.\n - 'map': `X + Y` performs + a merge where the array positions of all keys + in `X` are preserved but the values\n are + overwritten by values in `Y` when the key sets + of `X` and `Y` intersect. Elements in `Y` with\n + \ non-intersecting keys are appended, retaining + their partial order.\nRequired." + type: string + message: + description: |- + Message represents the message displayed when validation fails. The message is required if the Expression contains + line breaks. The message must not contain line breaks. + If unset, the message is "failed rule: {Rule}". + e.g. "must be a URL with the host matching spec.host" + If the Expression contains line breaks. Message is required. + The message must not contain line breaks. + If unset, the message is "failed Expression: {Expression}". + type: string + messageExpression: + description: |- + messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. + Since messageExpression is used as a failure message, it must evaluate to a string. + If both message and messageExpression are present on a validation, then messageExpression will be used if validation fails. + If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced + as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string + that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and + the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. + messageExpression has access to all the same variables as the `expression` except for 'authorizer' and 'authorizer.requestResource'. + Example: + "object.x must be less than max ("+string(params.max)+")" + type: string + reason: + description: |- + Reason represents a machine-readable description of why this validation failed. + If this is the first validation in the list to fail, this reason, as well as the + corresponding HTTP response code, are used in the + HTTP response to the client. + The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". + If not set, StatusReasonInvalid is used in the response to the client. + type: string + required: + - expression + type: object + type: array + x-kubernetes-list-type: atomic + variables: + description: |- + Variables contain definitions of variables that can be used in composition of other expressions. + Each variable is defined as a named CEL expression. + The variables defined here will be available under `variables` in other expressions of the policy + except MatchConditions because MatchConditions are evaluated before the rest of the policy. + + The expression of a variable can refer to other variables defined earlier in the list but not those after. + Thus, Variables must be sorted by the order of first appearance and acyclic. + items: + description: Variable is the definition of a variable + that is used for composition. A variable is defined + as a named expression. + properties: + expression: + description: |- + Expression is the expression that will be evaluated as the value of the variable. + The CEL expression has access to the same identifiers as the CEL expressions in Validation. + type: string + name: + description: |- + Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. + The variable can be accessed in other expressions through `variables` + For example, if name is "foo", the variable will be available as `variables.foo` + type: string + required: + - expression + - name + type: object + x-kubernetes-map-type: atomic + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + webhookConfiguration: + description: WebhookConfiguration defines the configuration + for the webhook. + properties: + timeoutSeconds: + description: |- + TimeoutSeconds specifies the maximum time in seconds allowed to apply this policy. + After the configured time expires, the admission request may fail, or may simply ignore the policy results, + based on the failure policy. The default timeout is 10s, the value must be between 1 and 30 seconds. + format: int32 + type: integer + type: object + type: object + targets: + items: + properties: + group: + type: string + kind: + type: string + resource: + type: string + version: + type: string + required: + - kind + - resource + - version + type: object + type: array + required: + - spec + - targets + type: object + type: object + type: object + conditionStatus: + description: ConditionStatus is the shared status across all policy + types + properties: + conditions: + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + message: + description: |- + Message is a human readable message indicating details about the generation of ValidatingAdmissionPolicy/MutatingAdmissionPolicy + It is an empty string when ValidatingAdmissionPolicy/MutatingAdmissionPolicy is successfully generated. + type: string + ready: + description: |- + The ready of a policy is a high-level summary of where the policy is in its lifecycle. + The conditions array, the reason and message fields contain more detail about the policy's status. + type: boolean + type: object + generated: + description: Generated indicates whether a ValidatingAdmissionPolicy/MutatingAdmissionPolicy + is generated from the policy or not + type: boolean + type: object + required: + - spec + type: object + selectableFields: + - jsonPath: .spec.evaluation.mode + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .status.conditionStatus.ready + name: READY + type: string + name: v1beta1 + schema: + openAPIV3Schema: + 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 + 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 + metadata: + type: object + spec: + description: ValidatingPolicySpec is the specification of the desired + behavior of the ValidatingPolicy. + properties: + auditAnnotations: + description: |- + auditAnnotations contains CEL expressions which are used to produce audit + annotations for the audit event of the API request. + validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is + required. + items: + description: AuditAnnotation describes how to produce an audit annotation + for an API request. + properties: + key: + description: |- + key specifies the audit annotation key. The audit annotation keys of + a ValidatingAdmissionPolicy must be unique. The key must be a qualified + name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length. + + The key is combined with the resource name of the + ValidatingAdmissionPolicy to construct an audit annotation key: + "{ValidatingAdmissionPolicy name}/{key}". + + If an admission webhook uses the same resource name as this ValidatingAdmissionPolicy + and the same audit annotation key, the annotation key will be identical. + In this case, the first annotation written with the key will be included + in the audit event and all subsequent annotations with the same key + will be discarded. + + Required. + type: string + valueExpression: + description: |- + valueExpression represents the expression which is evaluated by CEL to + produce an audit annotation value. The expression must evaluate to either + a string or null value. If the expression evaluates to a string, the + audit annotation is included with the string value. If the expression + evaluates to null or empty string the audit annotation will be omitted. + The valueExpression may be no longer than 5kb in length. + If the result of the valueExpression is more than 10kb in length, it + will be truncated to 10kb. + + If multiple ValidatingAdmissionPolicyBinding resources match an + API request, then the valueExpression will be evaluated for + each binding. All unique values produced by the valueExpressions + will be joined together in a comma-separated list. + + Required. + type: string + required: + - key + - valueExpression + type: object + type: array + x-kubernetes-list-type: atomic + autogen: + description: AutogenConfiguration defines the configuration for the + generation controller. + properties: + podControllers: + description: PodControllers specifies whether to generate a pod + controllers rules. + properties: + controllers: + items: + type: string + type: array + type: object + validatingAdmissionPolicy: + description: ValidatingAdmissionPolicy specifies whether to generate + a Kubernetes ValidatingAdmissionPolicy. + properties: + enabled: + description: |- + Enabled specifies whether to generate a Kubernetes ValidatingAdmissionPolicy. + Optional. Defaults to "false" if not specified. + type: boolean + type: object + type: object + evaluation: + description: EvaluationConfiguration defines the configuration for + the policy evaluation. + properties: + admission: + description: Admission controls policy evaluation during admission. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied during admission. + Optional. Default value is "true". + type: boolean + type: object + background: + description: Background controls policy evaluation during background + scan. + properties: + enabled: + default: true + description: |- + Enabled controls if rules are applied to existing resources during a background scan. + Optional. Default value is "true". The value must be set to "false" if the policy rule + uses variables that are only available in the admission review request (e.g. user name). + type: boolean + type: object + mode: + description: |- + Mode is the mode of policy evaluation. + Allowed values are "Kubernetes" or "JSON". + Optional. Default value is "Kubernetes". + type: string + type: object + failurePolicy: + description: |- + failurePolicy defines how to handle failures for the admission policy. Failures can + occur from CEL expression parse errors, type check errors, runtime errors and invalid + or mis-configured policy definitions or bindings. + + failurePolicy does not define how validations that evaluate to false are handled. + + When failurePolicy is set to Fail, the validationActions field define how failures are enforced. + + Allowed values are Ignore or Fail. Defaults to Fail. + enum: + - Ignore + - Fail + type: string + matchConditions: + description: |- + MatchConditions is a list of conditions that must be met for a request to be validated. + Match conditions filter requests that have already been matched by the rules, + namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. + There are a maximum of 64 match conditions allowed. The exact matching logic is (in order): 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. @@ -568,6 +2127,32 @@ spec: validationActions: description: |- ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + Required. items: description: ValidationAction specifies a policy enforcement action. @@ -865,9 +2450,6 @@ spec: namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed. - If a parameter object is provided, it can be accessed via the `params` handle in the same - manner as validation expressions. - The exact matching logic is (in order): 1. If ANY matchCondition evaluates to FALSE, the policy is skipped. 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated. @@ -1257,6 +2839,32 @@ spec: validationActions: description: |- ValidationAction specifies the action to be taken when the matched resource violates the policy. + If a validation evaluates to false it is always enforced according to these actions. + + Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according + to these actions only if the FailurePolicy is set to Fail, otherwise the failures are + ignored. This includes compilation errors, runtime errors and misconfigurations of the policy. + + validationActions is declared as a set of action values. Order does + not matter. validationActions may not contain duplicates of the same action. + + The supported actions values are: + + "Deny" specifies that a validation failure results in a denied request. + + "Warn" specifies that a validation failure is reported to the request client + in HTTP Warning headers, with a warning code of 299. Warnings can be sent + both for allowed or denied admission responses. + + "Audit" specifies that a validation failure is recorded in the created reports. + + Clients should expect to handle additional values by ignoring + any values not recognized. + + "Deny" and "Warn" may not be used together since this combination + needlessly duplicates the validation failure both in the + API response body and the HTTP warning headers. + Required. items: description: ValidationAction specifies a policy enforcement @@ -1528,7 +3136,9 @@ spec: required: - spec type: object + selectableFields: + - jsonPath: .spec.evaluation.mode served: true - storage: true + storage: false subresources: status: {} diff --git a/modules/security/kyverno/base/resources/kustomization.yaml b/modules/security/kyverno/base/resources/kustomization.yaml index c097826c..4e5a2f6b 100644 --- a/modules/security/kyverno/base/resources/kustomization.yaml +++ b/modules/security/kyverno/base/resources/kustomization.yaml @@ -7,20 +7,20 @@ labels: namespace: kyverno-system images: - name: ghcr.io/kyverno/kyverno - newTag: v1.15.2 - digest: sha256:16e710776afbb45ed4d40227c94a2e923c9f32209bfd5edfa75181d603932879 + newTag: v1.16.1 + digest: sha256:8d78ccacaf2f961e6be1fceec658f34b7f3410ac24822f0d12812bdb022b355f - name: ghcr.io/kyverno/kyvernopre - newTag: v1.15.2 - digest: sha256:115c28b061d2668aa22b85cefb84771bbecfe72024fc81860793ebd121bb136a + newTag: v1.16.1 + digest: sha256:e9b3a40f8da712abeb1d3896dac7af6d81a96284036d73a214e15d2c5e0f0e09 - name: ghcr.io/kyverno/background-controller - newTag: v1.15.2 - digest: sha256:05598ff9a8e420215553743d9ab4cbf1b03243a1d572fc629fc31e419e3393c7 + newTag: v1.16.1 + digest: sha256:1243c89f8d0e1ac3194c380e31571236af49aec531251bc724f1e5c51de57feb - name: ghcr.io/kyverno/cleanup-controller - newTag: v1.15.2 - digest: sha256:82eb0f2594d9b8b16519a84e3642812babf84b54605ab88bafb19818aa2812b7 + newTag: v1.16.1 + digest: sha256:69e1e6abf5f8ab1f015a1f185b1016b189c7a1713791dd662ad2c7e610b6f359 - name: ghcr.io/kyverno/reports-controller - newTag: v1.15.2 - digest: sha256:2793eddd3755bfbc7c4816d89108e53101cb1ed961a8f6bdb961d1fb7dd32025 + newTag: v1.16.1 + digest: sha256:84291952cc15b3968c29a8a91370d6e8a4b9749136427c1f1be6a03f42703c6a resources: - configs - rbac diff --git a/modules/security/kyverno/base/resources/rbac/aggregate-to-cluster-reader.yaml b/modules/security/kyverno/base/resources/rbac/aggregate-to-cluster-reader.yaml index 162eca3b..91c5a993 100644 --- a/modules/security/kyverno/base/resources/rbac/aggregate-to-cluster-reader.yaml +++ b/modules/security/kyverno/base/resources/rbac/aggregate-to-cluster-reader.yaml @@ -34,6 +34,9 @@ rules: - policies.kyverno.io resources: - imagevalidationgpolicies + - namespaceddeletingpolicies + - namespacedimagevalidatingpolicies + - namespacedvalidatingpolicies - policyexceptions - validatingpolicies verbs: diff --git a/modules/security/kyverno/base/resources/workloads/kyverno-admission/configs/metrics-exposure.json b/modules/security/kyverno/base/resources/workloads/kyverno-admission/configs/metrics-exposure.json index ced9c5b4..78351fe4 100644 --- a/modules/security/kyverno/base/resources/workloads/kyverno-admission/configs/metrics-exposure.json +++ b/modules/security/kyverno/base/resources/workloads/kyverno-admission/configs/metrics-exposure.json @@ -15,6 +15,24 @@ "policy_namespace" ] }, + "kyverno_generating_policy_execution_duration_seconds": { + "disabledLabelDimensions": [ + "resource_namespace", + "resource_request_operation" + ] + }, + "kyverno_image_validating_policy_execution_duration_seconds": { + "disabledLabelDimensions": [ + "resource_namespace", + "resource_request_operation" + ] + }, + "kyverno_mutating_policy_execution_duration_seconds": { + "disabledLabelDimensions": [ + "resource_namespace", + "resource_request_operation" + ] + }, "kyverno_policy_execution_duration_seconds": { "disabledLabelDimensions": [ "resource_namespace", @@ -32,5 +50,11 @@ "resource_namespace", "policy_namespace" ] + }, + "kyverno_validating_policy_execution_duration_seconds": { + "disabledLabelDimensions": [ + "resource_namespace", + "resource_request_operation" + ] } } diff --git a/modules/security/kyverno/base/resources/workloads/kyverno-admission/rbac/clusterrole-defaults.yaml b/modules/security/kyverno/base/resources/workloads/kyverno-admission/rbac/clusterrole-defaults.yaml index 60233182..aca686eb 100644 --- a/modules/security/kyverno/base/resources/workloads/kyverno-admission/rbac/clusterrole-defaults.yaml +++ b/modules/security/kyverno/base/resources/workloads/kyverno-admission/rbac/clusterrole-defaults.yaml @@ -47,7 +47,6 @@ rules: - updaterequests/status - globalcontextentries - globalcontextentries/status - - policyexceptions verbs: - create - delete @@ -57,14 +56,28 @@ rules: - update - watch - deletecollection +- apiGroups: + - kyverno.io + resources: + - policyexceptions + verbs: + - create + - get + - list + - patch + - update + - watch - apiGroups: - policies.kyverno.io resources: - validatingpolicies - validatingpolicies/status - - policyexceptions + - namespacedvalidatingpolicies + - namespacedvalidatingpolicies/status - imagevalidatingpolicies - imagevalidatingpolicies/status + - namespacedimagevalidatingpolicies + - namespacedimagevalidatingpolicies/status - generatingpolicies - generatingpolicies/status - mutatingpolicies @@ -78,6 +91,17 @@ rules: - update - watch - deletecollection +- apiGroups: + - policies.kyverno.io + resources: + - policyexceptions + verbs: + - create + - get + - list + - patch + - update + - watch - apiGroups: - reports.kyverno.io resources: diff --git a/modules/security/kyverno/base/resources/workloads/kyverno-background/rbac/clusterrole-defaults.yaml b/modules/security/kyverno/base/resources/workloads/kyverno-background/rbac/clusterrole-defaults.yaml index 9c879947..a39ddf2b 100644 --- a/modules/security/kyverno/base/resources/workloads/kyverno-background/rbac/clusterrole-defaults.yaml +++ b/modules/security/kyverno/base/resources/workloads/kyverno-background/rbac/clusterrole-defaults.yaml @@ -45,6 +45,17 @@ rules: - update - watch - deletecollection +- apiGroups: + - policies.kyverno.io + resources: + - policyexceptions + verbs: + - create + - get + - list + - patch + - update + - watch - apiGroups: - "" resources: @@ -112,3 +123,14 @@ rules: - update - patch - delete +- apiGroups: + - resource.k8s.io + resources: + - resourceclaims + - resourceclaimtemplates + verbs: + - create + - delete + - update + - patch + - deletecollection diff --git a/modules/security/kyverno/base/resources/workloads/kyverno-cleanup/rbac/clusterrole-core.yaml b/modules/security/kyverno/base/resources/workloads/kyverno-cleanup/rbac/clusterrole-core.yaml index 147fa11b..89b620b9 100644 --- a/modules/security/kyverno/base/resources/workloads/kyverno-cleanup/rbac/clusterrole-core.yaml +++ b/modules/security/kyverno/base/resources/workloads/kyverno-cleanup/rbac/clusterrole-core.yaml @@ -40,6 +40,7 @@ rules: - policies.kyverno.io resources: - deletingpolicies + - namespaceddeletingpolicies verbs: - get - list @@ -48,6 +49,7 @@ rules: - policies.kyverno.io resources: - deletingpolicies/status + - namespaceddeletingpolicies/status verbs: - update - apiGroups: diff --git a/modules/security/kyverno/base/resources/workloads/kyverno-cleanup/workloads/deployment.yaml b/modules/security/kyverno/base/resources/workloads/kyverno-cleanup/workloads/deployment.yaml index ebb41293..6d17c596 100644 --- a/modules/security/kyverno/base/resources/workloads/kyverno-cleanup/workloads/deployment.yaml +++ b/modules/security/kyverno/base/resources/workloads/kyverno-cleanup/workloads/deployment.yaml @@ -40,7 +40,6 @@ spec: - --protectManagedResources=false - --ttlReconciliationInterval=1m - --cleanupServerPort=$(CONTROLLER_PORT) - - --webhookServerPort=$(CONTROLLER_PORT) - --metricsPort=$(METRICS_PORT) - --otelConfig=prometheus - --profile=$(PROFILE_ENABLED) diff --git a/modules/security/kyverno/base/resources/workloads/kyverno-reports/rbac/clusterrole-core.yaml b/modules/security/kyverno/base/resources/workloads/kyverno-reports/rbac/clusterrole-core.yaml index a777c180..cba90b71 100644 --- a/modules/security/kyverno/base/resources/workloads/kyverno-reports/rbac/clusterrole-core.yaml +++ b/modules/security/kyverno/base/resources/workloads/kyverno-reports/rbac/clusterrole-core.yaml @@ -40,8 +40,12 @@ rules: resources: - validatingpolicies - validatingpolicies/status + - namespacedvalidatingpolicies + - namespacedvalidatingpolicies/status - imagevalidatingpolicies - imagevalidatingpolicies/status + - namespacedimagevalidatingpolicies + - namespacedimagevalidatingpolicies/status - generatingpolicies - mutatingpolicies verbs: From c3d585a95dc647b64291fdab50c779bd10f1ea10 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 16:38:35 +0100 Subject: [PATCH 16/19] feat: update kube-webhook-certgen version in security module --- modules/security/oidc-proxy/CHANGELOG.md | 17 +---------------- modules/security/oidc-proxy/README.md | 4 +--- .../oidc-proxy/base/dex/kustomization.yaml | 6 +++--- .../base/resources/kustomization.yaml | 4 ++-- 4 files changed, 7 insertions(+), 24 deletions(-) diff --git a/modules/security/oidc-proxy/CHANGELOG.md b/modules/security/oidc-proxy/CHANGELOG.md index 769ae077..72f5d9be 100644 --- a/modules/security/oidc-proxy/CHANGELOG.md +++ b/modules/security/oidc-proxy/CHANGELOG.md @@ -7,21 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v1.33.2 - -### Changed - -- update kube-oidc-proxy to 1.0.9-0ecd53 - -## v1.33.1 - -### Changed - -- update kube-oidc-proxy to 1.0.9-3da0ae - -## v1.33.0 - ### Changed -- update kube-webhook-certgen to 1.6.2 -- update dexidp to v2.44.0 +- update kube-webhook-certgen to 1.6.5 diff --git a/modules/security/oidc-proxy/README.md b/modules/security/oidc-proxy/README.md index 9b980f5b..80d3c480 100644 --- a/modules/security/oidc-proxy/README.md +++ b/modules/security/oidc-proxy/README.md @@ -56,9 +56,7 @@ specify the external one you would like to use for authenticating in your cluste | Module Version | kube-oidc-proxy Version | Dex Version | |----------------|----------------------------------------|-------------| -| 1.33.0 | 1.0.9-1ccb97 | 2.44.0 | -| 1.33.1 | 1.0.9-3da0ae | 2.44.0 | -| 1.33.2 | 1.0.9-0ecd53 | 2.44.0 | +| 1.34.x | 1.0.9-0ecd53 | 2.44.0 | ## User customization diff --git a/modules/security/oidc-proxy/base/dex/kustomization.yaml b/modules/security/oidc-proxy/base/dex/kustomization.yaml index 051699a4..8bbe96d1 100644 --- a/modules/security/oidc-proxy/base/dex/kustomization.yaml +++ b/modules/security/oidc-proxy/base/dex/kustomization.yaml @@ -3,11 +3,11 @@ kind: Component namespace: oidc-proxy-system images: - name: ghcr.io/dexidp/dex - newTag: v2.43.1 + newTag: v2.44.0 digest: sha256:5d0656fce7d453c0e3b2706abf40c0d0ce5b371fb0b73b3cf714d05f35fa5f86 - name: registry.k8s.io/ingress-nginx/kube-webhook-certgen - newTag: v1.6.2 - digest: sha256:050a34002d5bb4966849c880c56c91f5320372564245733b33d4b3461b4dbd24 + newTag: v1.6.5 + digest: sha256:03a00eb0e255e8a25fa49926c24cde0f7e12e8d072c445cdf5136ec78b546285 resources: - workloads secretGenerator: diff --git a/modules/security/oidc-proxy/base/resources/kustomization.yaml b/modules/security/oidc-proxy/base/resources/kustomization.yaml index f84531f3..e1ea4041 100644 --- a/modules/security/oidc-proxy/base/resources/kustomization.yaml +++ b/modules/security/oidc-proxy/base/resources/kustomization.yaml @@ -10,8 +10,8 @@ images: newTag: 1.0.9-0ecd53 digest: sha256:8f44becfcc93aa53158772d431e6fc6847b651c285a15a57f87c2aa1f5de7f8f - name: registry.k8s.io/ingress-nginx/kube-webhook-certgen - newTag: v1.6.2 - digest: sha256:050a34002d5bb4966849c880c56c91f5320372564245733b33d4b3461b4dbd24 + newTag: v1.6.5 + digest: sha256:03a00eb0e255e8a25fa49926c24cde0f7e12e8d072c445cdf5136ec78b546285 resources: - configs - rbac From 08ad6bb2bbc4b3c0f6fafbc812fc074ae51770b8 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 17:34:52 +0100 Subject: [PATCH 17/19] feat: update rbac-manager version in security module --- modules/security/rbac-manager/CHANGELOG.md | 14 +------------- modules/security/rbac-manager/README.md | 4 +--- .../rbac-manager/base/resources/kustomization.yaml | 4 ++-- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/modules/security/rbac-manager/CHANGELOG.md b/modules/security/rbac-manager/CHANGELOG.md index f0c6a4c4..b579d795 100644 --- a/modules/security/rbac-manager/CHANGELOG.md +++ b/modules/security/rbac-manager/CHANGELOG.md @@ -7,18 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v1.33.2 - ### Changed -- update rbac-manger to v1.9.4 - -## v1.33.1 - -### Changed - -- update rbac-manger to v1.9.3 - -## v1.33.0 - -- no changes +- update rbac-manger to v1.9.5 diff --git a/modules/security/rbac-manager/README.md b/modules/security/rbac-manager/README.md index 8330e07e..a6e52603 100644 --- a/modules/security/rbac-manager/README.md +++ b/modules/security/rbac-manager/README.md @@ -35,9 +35,7 @@ This module use the following user, gid and fsGroup: | Module Version | Tool Version | |----------------|----------------| -| 1.33.0 | 1.9.2 | -| 1.33.1 | 1.9.3 | -| 1.33.2 | 1.9.4 | +| 1.34.x | 1.9.5 | ## User customization diff --git a/modules/security/rbac-manager/base/resources/kustomization.yaml b/modules/security/rbac-manager/base/resources/kustomization.yaml index 7e9ac4f8..ffce7df5 100644 --- a/modules/security/rbac-manager/base/resources/kustomization.yaml +++ b/modules/security/rbac-manager/base/resources/kustomization.yaml @@ -7,8 +7,8 @@ labels: namespace: rbac-manager-system images: - name: quay.io/reactiveops/rbac-manager - newTag: v1.9.4 - digest: sha256:0fdae9d2a094ab142e16fa1a277279b707640f498a1ad440b0ab5e4f725746e1 + newTag: v1.9.5 + digest: sha256:87e3f461446f5f7b4cd8d2fcd5014a98e827963796725b9fc90c992b05631e61 resources: - configs - rbac From d46b3bc82a1b2d119e2e2ed3fdfaac9c37f7cf6c Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Thu, 8 Jan 2026 17:44:45 +0100 Subject: [PATCH 18/19] docs: fix with cspell --- .pre-commit-config.yaml | 4 ++++ docs/how-to-make-a-release.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4716b18a..9d8facef 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,6 +17,10 @@ repos: - id: trailing-whitespace name: Trims trailing whitespace args: [--markdown-linebreak-ext=md] # add exception for markdown linebreaks +- repo: https://github.com/streetsidesoftware/cspell-cli + rev: v9.4.0 + hooks: + - id: cspell - repo: https://github.com/gitleaks/gitleaks rev: v8.30.0 hooks: diff --git a/docs/how-to-make-a-release.md b/docs/how-to-make-a-release.md index 49b81cad..def3f8f5 100644 --- a/docs/how-to-make-a-release.md +++ b/docs/how-to-make-a-release.md @@ -13,7 +13,7 @@ or addon a link to the new CHANGELOG file must be added to the root one. ## Tags -After the changelogs are updated the relevant tag can be created, the name of the tag dependes on what are you tagging: +After the changelogs are updated the relevant tag can be created, the name of the tag depends on what are you tagging: - if the tag pertain to a module the tag must be `module---v` - if the tag pertain to an addon the tag must be `addon---v` From f779d8e2ff84a617a311599a8c39027344a41f02 Mon Sep 17 00:00:00 2001 From: Jacopo Andrea Giola Date: Fri, 9 Jan 2026 14:12:40 +0100 Subject: [PATCH 19/19] docs: remove relase version in prometheus-operator monitoring-stack addon --- addons/prometheus-operator/monitoring-stack/CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/prometheus-operator/monitoring-stack/CHANGELOG.md b/addons/prometheus-operator/monitoring-stack/CHANGELOG.md index 4f1994ab..b36c5f2f 100644 --- a/addons/prometheus-operator/monitoring-stack/CHANGELOG.md +++ b/addons/prometheus-operator/monitoring-stack/CHANGELOG.md @@ -7,8 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -## v2.7.0 - - update prometheus to v3.8.1 - update alertmanager to v0.30.0